ViewController1과 ViewController2라는 두 개의보기 컨트롤러가 있습니다. 내 목표는 ViewController1의 특정 조건이 충족되면 segue가 트리거 될 때 viewController2의 텍스트 필드를 사용하지 않도록 설정하는 것입니다.대상보기 컨트롤러에서 텍스트 필드 사용 안 함
설정이 shouldPerformSegueWithIdentifier
및 prepareForSegue
이고 모두 정상적으로 작동하지만 조건을 입력하면 오류가 발생하여 선택 사항 - 텍스트 필드의 언 래핑 오류가 발생했다는 메시지가 나타납니다. 내 ViewController1은 다음과 같습니다 대상 컨트롤러와 관련된
override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject!) -> Bool {
if condition1=true{
return true
}
else{
return false
}
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier=="segue"){
let destVC:ViewController=segue.destinationViewController as! ViewController2
if n==1{
destVC.myTextField.enabled=false
}
}
}
덕분에이 같은
ViewController2
내부에 예를isEnabled
를 만들고ViewController2
의viewDidLoad
에 그것을 사용! – user440309안녕하세요, 해피 코딩 :) –
질문이 하나 더 있는데, n 값이 변경 될 때까지 isEnabled 값을 false로 유지 하시겠습니까? 나는 다른 viewController에 가거나 원래의 상태로 되 돌린다. nsuserdefaults에 값을 저장해야 하는가? – user440309