私はsegueを実行するためにifステートメントを使用しています。私は正常に実行されるたびにifステートメントにメッセージを出力します。しかし、セグが実行されていないと私はなぜわからない。実行中ではない
override func viewDidLoad() {
super.viewDidLoad()
firstField.delegate = self
signUpButtonOutlet.isEnabled = false
// Do any additional setup after loading the view.
let fetchRequest: NSFetchRequest<Check> = Check.fetchRequest()
do {
//go get the results
let searchResults = try getContext().fetch(fetchRequest)
//I like to check the size of the returned results!
print ("num of results = \(searchResults.count)")
//You need to convert to NSManagedObject to use 'for' loops
for check in searchResults as [NSManagedObject] {
//get the Key Value pairs (although there may be a better way to do that...
print("the value was\(check.value(forKey: "isLoggedIn"))")
if (check.value(forKey: "isLoggedIn") != nil) {
self.performSegue(withIdentifier: "loggedInTrue", sender: self)
print("if statement ran")
}
}
} catch {
print("Error with request: \(error)")
}
}
にそのコントローラの識別子を設定する必要があるでしょう? –
ちょうど@MrugeshTankのようにviewdidappearにあなたのsegueを入れて、あなたはviewdidloadでセグをすることはできません – rudydydy
これは、これを行うための最良の方法ではない、あなたは本当にこの変数をチェックすることができますユーザーデフォルトあなたのアプリケーションは負荷をかけて委任します。正しいコントローラを表示してください – Devster101