機能にアクセスするためにログインする必要があるが、警告のログインボタンを押したときにユーザーに警告を表示しようとしています。self.self.performSegueWithIdentifier("tryonToLogin", sender:self)
は何もしていません。UIAlertで緊急処理を解除する
LoginViewController
@IBAction func unwindToLogin(segue:UIStoryboardSegue){
}
UIAlert
@IBAction func goToGallery(sender: UIButton){
if(isLoggedIn){
performSegueWithIdentifier("ShowGallery", sender: sender)
}else{
showMessage("You must login to view access this feature", sender:sender)
}
}
func showMessage(popUpMessageText : String, sender:UIButton){
let messageTitle = "Error"
print("prepreform segue")
performSegueWithIdentifier("unwindToLogin", sender:sender)
let refreshAlert = UIAlertController(title: messageTitle, message: popUpMessageText, preferredStyle: UIAlertControllerStyle.Alert)
refreshAlert.addAction(UIAlertAction(title: "Login", style: .Default, handler: { (action: UIAlertAction!) in
print("Handle Login redirect logic here")
self.performSegueWithIdentifier("unwindToLogin", sender: self)
print("after Handle Login redirect logic here")
}))
refreshAlert.addAction(UIAlertAction(title: "Cancel", style: .Default, handler: { (action: UIAlertAction!) in
print("Handle Cancel logic here")
}))
presentViewController(refreshAlert, animated: true, completion: nil)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
print("prepare for segue called")
self.camera = nil
}
エラーはありません。それは存在しないIDを入れるかのように呼び出されています。指定された識別子を持つセグーが見つからないというエラーメッセージが表示されます。 UIAlertが呼び出しに影響しますperformSegueWithIdentifier()
次の記事ではこのアプローチを使用していますので、うまくいくはずです。私は何が欠けている。
** IBスクリーンショット**
編集
私が表示されたビューにself.performSegueWithIdentifier("unwindToLogin", sender:self)
を移動しようとしている、それはまだ鼻水の作業です。
私はこれが問題であるかもしれないと考えていましたが、まだ動作しません。 – Lonergan6275
あなたのViewControllerにfunc tmp(){print( "tmp")}メソッドを追加し、tmpメソッドが呼び出されたかどうかを調べるためにweakSelf?tmp()を呼び出します。 –
はい、呼び出されます。 – Lonergan6275