저는 segue를 실행하기 위해 if 문을 사용하고 있습니다. if 문이 성공적으로 실행될 때마다 메시지를 출력합니다. 그러나, segue가 실행되지 않고 왜 확실하지 않습니다. viewDidAppear
에서 viewDidLoad
및 performSegue에서실행되지 않음
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에서 segue를 수행 할 수 없습니다. – rudydydy
이것은 가장 좋은 방법은 아니며,이 변수를 확인할 수있는 사용자 기본값에 로그인 상태를 저장해야합니다. 로드시 앱 위임자. 그런 다음 올바른 컨트롤러를 표시하십시오. – Devster101