Saya mengalami kesulitan dengan fungsi posting. Hasil yang saya terima adalah "failure(SwiftyInsta.GenericError.weakObjectReleased)"
Apa yang saya lakukan salah? Saya minta maaf jika ini adalah kesalahan sederhana. Saya mencari melalui semua pertanyaan di sini dan sejauh yang saya dapatkan, ini mengkompilasi tetapi mengembalikan kesalahan itu.
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)
})
}
}
SwiftyInsta.GenericError.weakObjectReleased
biasanya dipanggil ketika APIHandler
tidak direferensikan dengan kuat.
Jika contoh Anda berarti seperti ini:
func someFunction(cache: Authentication.Response) {
let handler = APIHandler()
handler.authenticate(with: .cache(cache)) { _ in
}
}
Setelah penangan penyelesaian dipanggil, secara asinkron, handler
telah dirilis.
Agar ini berfungsi, Anda harus "bertahan" di suatu tempat. Contohnya.
class SomeClass {
let handler = APIHandler()
func someFunction(cache: Authentication.Response) {
handler.authenticate(with: .cache(cache)) { _ in }
}
}
Artinya handler
tidak akan dialokasikan sampai instance SomeClass
.
Terima kasih, sekarang mendapatkan "failure(SwiftyInsta.GenericError.custom("Respons tidak valid. 400"))". Ini adalah viewController saya, dapatkah Anda menunjukkan kesalahan saya dalam hal ini atau jika Anda memiliki fungsi yang berfungsi untuk memposting gambar yang dapat Anda potong dan tempelkan kepada saya yang akan sangat membantu saya, saya tidak tahu di mana ini salah
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)
}) }
}
Saya telah membuka edisi baru untuk pengecualian baru Anda.
Saya akan memeriksanya segera setelah saya punya waktu :muscle: @trentona
Silakan referensi #106 mulai sekarang.
Komentar yang paling membantu
SwiftyInsta.GenericError.weakObjectReleased
biasanya dipanggil ketikaAPIHandler
tidak direferensikan dengan kuat.Jika contoh Anda berarti seperti ini:
Setelah penangan penyelesaian dipanggil, secara asinkron,
handler
telah dirilis.Agar ini berfungsi, Anda harus "bertahan" di suatu tempat. Contohnya.
Artinya
handler
tidak akan dialokasikan sampai instanceSomeClass
.