Swiftyinsta: Fehler(SwiftyInsta.GenericError.weakObjectReleased)

Erstellt am 24. Sept. 2019  ·  3Kommentare  ·  Quelle: TheM4hd1/SwiftyInsta

Ich habe Schwierigkeiten mit der Post-Funktion. Das Ergebnis, das ich erhalte, ist "Failure(SwiftyInsta.GenericError.weakObjectReleased)"

Was mache ich falsch? Ich entschuldige mich, wenn dies ein einfacher Fehler ist. Ich habe alle Fragen hier durchsucht und das ist so weit, wie ich es habe, es wird kompiliert, gibt aber diesen Fehler zurück.

func uploadImage() {

    let img = imageView.image!
    let myCaption = "Sample Caption"

      guard let key = UserDefaults.standard.string(forKey: "current.account") else { return print("`key` not found.") }

    guard let cache = Authentication.Response.persisted(with: key) else { return print("`Authentication.Response` not found.") }

        let handler = APIHandler()
            handler.authenticate(with: .cache(cache)) { _ in

        let img1: Upload.Picture = Upload.Picture(image: img, caption: myCaption, size: CGSize(width: 30,height: 30) )



        handler.media.upload(photo: img1, completionHandler: { (result) in
print(result)

})

}

    }
help wanted

Hilfreichster Kommentar

SwiftyInsta.GenericError.weakObjectReleased wird normalerweise aufgerufen, wenn APIHandler nicht stark referenziert ist.

Wenn Ihr Beispiel so etwas bedeutet:

func someFunction(cache: Authentication.Response) {
  let handler = APIHandler()
  handler.authenticate(with: .cache(cache)) { _ in
  }
}

Sobald der Abschlusshandler asynchron aufgerufen wird, wurde Ihr handler bereits freigegeben.
Damit dies funktioniert, müssen Sie es irgendwo "durchhalten". Zum Beispiel.

class SomeClass {
  let handler = APIHandler()

  func someFunction(cache: Authentication.Response) {
    handler.authenticate(with: .cache(cache)) { _ in }
  }
}

Das bedeutet, dass handler nicht freigegeben wird, bis Ihre SomeClass Instanz es ist.

Alle 3 Kommentare

SwiftyInsta.GenericError.weakObjectReleased wird normalerweise aufgerufen, wenn APIHandler nicht stark referenziert ist.

Wenn Ihr Beispiel so etwas bedeutet:

func someFunction(cache: Authentication.Response) {
  let handler = APIHandler()
  handler.authenticate(with: .cache(cache)) { _ in
  }
}

Sobald der Abschlusshandler asynchron aufgerufen wird, wurde Ihr handler bereits freigegeben.
Damit dies funktioniert, müssen Sie es irgendwo "durchhalten". Zum Beispiel.

class SomeClass {
  let handler = APIHandler()

  func someFunction(cache: Authentication.Response) {
    handler.authenticate(with: .cache(cache)) { _ in }
  }
}

Das bedeutet, dass handler nicht freigegeben wird, bis Ihre SomeClass Instanz es ist.

Vielen Dank, es wird jetzt "Failure(SwiftyInsta.GenericError.custom("Ungültige Antwort. 400"))" angezeigt. Dies ist mein viewController, könnten Sie mir bitte meine Fehler in diesem zeigen oder wenn Sie eine funktionierende Funktion zum Posten eines Bildes haben, das Sie einfach ausschneiden und einfügen können, das mir enorm helfen würde, ich habe keine Ahnung, wo das schief geht

import UIKit
import SwiftyInsta
class DeploymentViewController: UIViewController {

    let handler = APIHandler()
    <strong i="6">@IBOutlet</strong> weak var sampleImage: UIImageView!


        override func viewDidLoad() {
                super.viewDidLoad()

        }

   <strong i="7">@IBAction</strong> func test(_ sender: Any) {


        guard let key = UserDefaults.standard.string(forKey: "current.account") else { return 
print("`key` not found.") }

        guard let cache = Authentication.Response.persisted(with: key) else { return 
print("`Authentication.Response` not found.") }
            handler.authenticate(with: .cache(cache)) { _ in    }

        let img1: Upload.Picture = Upload.Picture(image: self.sampleImage.image!, caption: 
"sampleText", size: CGSize(width: 1080,height: 1080) )


            self.handler.media.upload(photo: img1, completionHandler: { (result) in



            print(result)
        })    }


}

Ich habe eine neue Ausgabe für Ihre neue Ausnahme geöffnet.
Ich schaue mir das mal an, sobald ich Zeit habe :muscle: @trentona
Bitte beziehen Sie sich von nun an auf # 106.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

sbertix picture sbertix  ·  27Kommentare

reefer picture reefer  ·  18Kommentare

biox86 picture biox86  ·  12Kommentare

sbertix picture sbertix  ·  3Kommentare

sbertix picture sbertix  ·  8Kommentare