2014-11-11 4 views
1
@IBOutlet weak var groupNameTF: UITextField! 
var group: Group? { 
    didSet { 
     groupNameTF.text = group?.name 
    } 
} 

여기에서 선택 사항과 관련된 문제점을 이해할 수 없습니다. 로그에서 볼 수 있듯이 groupnil이 아닙니다. 내가 생각하기에 나는 안전한 가치 풀기를한다. 나는 또한 if let 구조, 동일한 결과로 확인했다.언 래핑하는 동안 예기치 않게 찾을 수 없음 선택 사항

+2

아마도 'groupNameTF'이 (가) nil입니까? – Antonio

+0

@Antonio 예, 당신은 절대적으로 옳습니다. – Shmidt

답변

4

groupNameTF이 nil이기 때문에 발생할 가능성이 큽니다. 빠른 해결 방법은 다음을 사용하여 보호하는 것입니다.

var group: Group? { 
    didSet { 
     if groupNameTF != nil { 
      groupNameTF.text = group?.name 
     } 
    } 
} 
4

@Antonio가 이미 문제를 설명했습니다. 다른 해결책은 표현식의 왼쪽에 선택적 체인을 사용하여

var group: Group? { 
    didSet { 
     groupNameTF?.text = group?.name 
    } 
} 

입니다. groupNameTFnil이면 text 설정 메소드가 호출되지 않습니다.

+0

+1 좋은 생각. 신속한 것들이 여러 가지 방법으로 수행 될 수 있다는 것을 증명합니다. 항상 좋은 것입니다. – Antonio

+0

@Antonio : 그래서 Swift는 새로운 Perl입니다 :-) TIMTOWTDI! –

+0

ahah 그래, 우리는 Swifterl :)로 이름을 바꿔야합니다. – Antonio

관련 문제