iPhoneアプリでログイン処理を共通化して別クラスで処理しています。
共通化しているクラス:loginTask
呼び出し元:loginViewController
とした場合に、loginTaskでLogin処理をして結果により、loginViewControllerのfailを呼び出すようにしています。
この時に、activIndicがNullになっています。loginTaskを呼び出し前には問題ないのですが処理を終えて戻ってくるとnilになっていて、以下のエラーとなります。
fatal error: unexpectedly found nil while unwrapping an Optional value
どのように解決すべきかわからないのでご教授ください。
よろしくお願いします。
class loginViewController: UIViewController { @IBOutlet weak var activIndic: UIActivityIndicatorView! func do(_ errWord: String) { activIndic.startAnimating() // ******************Login処理****************** loginTask().doLogin(getLogId, iLoginPass: getLogPasEnc, iLoginView:true) } func fail(_ errWord: String) { activIndic.stopAnimating() } } class loginTask { let session = URLSession(configuration: urlconfig, delegate: self as? URLSessionDelegate, delegateQueue: nil) // 通信開始 session.dataTask(with: url!) { data, response, error in if error == nil { DispatchQueue.main.async { loginViewController().fail() } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。