Swiftyinsta: échec (SwiftyInsta.GenericError.weakObjectReleased)

Créé le 24 sept. 2019  ·  3Commentaires  ·  Source: TheM4hd1/SwiftyInsta

J'ai des difficultés avec la fonction post. Le résultat que je reçois est "échec (SwiftyInsta.GenericError.weakObjectReleased)"

Qu'est-ce que je fais mal? Mes excuses s'il s'agit d'une simple erreur. J'ai cherché dans toutes les questions ici et c'est tout ce que j'ai obtenu, il compile mais renvoie cette erreur.

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

Commentaire le plus utile

SwiftyInsta.GenericError.weakObjectReleased est généralement appelé lorsque APIHandler n'est pas fortement référencé.

Si votre exemple signifie quelque chose comme ceci :

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

Une fois que le gestionnaire de complétion est appelé, de manière asynchrone, votre handler a déjà été libéré.
Pour que cela fonctionne, vous devez le « persister » quelque part. Par exemple.

class SomeClass {
  let handler = APIHandler()

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

Cela signifie que handler ne sera pas désalloué tant que votre instance SomeClass ne le sera pas.

Tous les 3 commentaires

SwiftyInsta.GenericError.weakObjectReleased est généralement appelé lorsque APIHandler n'est pas fortement référencé.

Si votre exemple signifie quelque chose comme ceci :

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

Une fois que le gestionnaire de complétion est appelé, de manière asynchrone, votre handler a déjà été libéré.
Pour que cela fonctionne, vous devez le « persister » quelque part. Par exemple.

class SomeClass {
  let handler = APIHandler()

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

Cela signifie que handler ne sera pas désalloué tant que votre instance SomeClass ne le sera pas.

Merci, il obtient maintenant "échec (SwiftyInsta.GenericError.custom ("Réponse non valide. 400"))". Ceci est mon viewController, pourriez-vous s'il vous plaît me montrer mes erreurs dans celui-ci ou si vous avez une fonction de travail pour publier une image que vous pourriez simplement couper et coller pour moi qui m'aiderait énormément, je n'ai aucune idée d'où cela va mal

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)
        })    }


}

J'ai ouvert un nouveau problème pour votre nouvelle exception.
Je me renseignerai dès que j'aurai un peu de temps :muscle: @trentona
Veuillez référencer #106 à partir de maintenant.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

sbertix picture sbertix  ·  3Commentaires

biox86 picture biox86  ·  12Commentaires

reefer picture reefer  ·  18Commentaires

sbertix picture sbertix  ·  27Commentaires

canaksoy picture canaksoy  ·  6Commentaires