Swiftyinsta: рд╡рд┐рдлрд▓рддрд╛ (SwiftyInsta.GenericError.weakObjectReleased)

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рд╕рд┐рддре░ 2019  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: TheM4hd1/SwiftyInsta

рдореБрдЭреЗ рдкреЛрд╕реНрдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрдард┐рдирд╛рдИ рд╣реЛ рд░рд╣реА рд╣реИред рдореБрдЭреЗ рдЬреЛ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рд╣реИ "рд╡рд┐рдлрд▓рддрд╛ (рд╕реНрд╡рд┐рдлреНрдЯреАрдЗрдВрд╕реНрдЯрд╛ред рдЬреЗрдиреЗрд░рд┐рдХ рдПрд░рд░.рд╡реАрдХрдСрдмреНрдЬреЗрдХреНрдЯ рд░рд┐рд▓реАрдЬ)

рдореИрдВ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ? рдореЗрд░реА рдорд╛рдлрд╝реА рдЕрдЧрд░ рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЧрд▓рддреА рд╣реИред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдкрд░ рд╕рднреА рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдЦреЛрдЬ рдХреА рдФрд░ рдпрд╣ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдорд┐рд▓рд╛ рд╣реИ, рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЙрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрддрд╛ рд╣реИред

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 рдХреЛ рдЖрдорддреМрд░ рдкрд░ рддрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм APIHandler рдХрд╛ рдордЬрдмреВрдд рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЕрд░реНрде рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реИ:

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

рдПрдХ рдмрд╛рд░ рдкреВрд░реНрдгрддрд╛ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдкрдХрд╛ handler рдкрд╣рд▓реЗ рд╣реА рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред
рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рдХрд╣реАрдВ "рдЬрд╛рд░реА" рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред

class SomeClass {
  let handler = APIHandler()

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

рдорддрд▓рдм handler рдЬрдм рддрдХ рдЖрдкрдХрд╛ SomeClass рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛, рддрдм рддрдХ рдЙрд╕реЗ рдбрд┐рд▓реАрдХреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

SwiftyInsta.GenericError.weakObjectReleased рдХреЛ рдЖрдорддреМрд░ рдкрд░ рддрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм APIHandler рдХрд╛ рдордЬрдмреВрдд рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЕрд░реНрде рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реИ:

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

рдПрдХ рдмрд╛рд░ рдкреВрд░реНрдгрддрд╛ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдкрдХрд╛ handler рдкрд╣рд▓реЗ рд╣реА рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред
рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рдХрд╣реАрдВ "рдЬрд╛рд░реА" рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред

class SomeClass {
  let handler = APIHandler()

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

рдорддрд▓рдм handler рдЬрдм рддрдХ рдЖрдкрдХрд╛ SomeClass рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛, рддрдм рддрдХ рдЙрд╕реЗ рдбрд┐рд▓реАрдХреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдзрдиреНрдпрд╡рд╛рдж, рдЕрдм рдЗрд╕рдХреА "рд╡рд┐рдлрд▓рддрд╛ (рд╕реНрд╡рд┐рдлреНрдЯреАрдЗрдВрд╕реНрдЯрд╛.рдЬреЗрдиреЗрд░рд┐рдХ рдПрд░рд░.рдХрд╕реНрдЯрдо ("рдЕрдорд╛рдиреНрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред 400")) рд╣реЛ рд░рд╣реА рд╣реИред рдпрд╣ рдореЗрд░рд╛ рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рдореЗрд░реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЫрд╡рд┐ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдХрд╛рд░реНрдп рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдореБрдЭреЗ рдХрд╛рдЯ рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рдмрд╣реБрдд рдорджрдж рдХрд░реЗрдЧрд╛, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рдЧрд▓рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ

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


}

рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдирдП рдЕрдкрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рд╛ рд╣реИред
рдЬреИрд╕реЗ рд╣реА рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рд╕рдордп рд╣реЛрдЧрд╛ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦ рд▓реВрдВрдЧрд╛: рдорд╛рдВрд╕рдкреЗрд╢реА: @trentona
рдХреГрдкрдпрд╛ рдЕрдм рд╕реЗ #106 рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕