2017-04-03 9 views
0

사용자 지정 UICollectionViewCell 클래스의 이니셜 라이저를 설정하려고하는데 오류가 발생합니다. 나는 Swift를 처음 사용하고 클래스의 항목을 사용하려면 모델 클래스가 관련 이니셜 라이저를 가져야한다는 것을 이해해야합니다. 여기 내 코드는 에러가 나는 수신하고 있습니다 :사용자 지정 UICollectionView 셀 클래스의 Initializer를 설정할 수 없습니다.

public required init?(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder) 
    // do something here if you need ... 
} 

당신을 위해 그것을 수정해야합니다 : 당신은 NSCoder에 대한 초기화를 포함 할 필요가

enter image description here

+1

빨간색 경고를 클릭하면 자동으로 수행됩니다. –

답변

1

당신은 당신의 변수에 디폴트 값을 설정하거나 할 필요가 그것을 선택하여 '키'선택하지 않은 경우 당신은 초기화의 '키'(초기화 할 필요가

var key: String? 
+0

많은 감사를드립니다! 선택적 요구 사항을 간단히 설명 할 수 있습니까? 정확히 무엇을 의미합니까? – tccpg288

+0

옵션은 변수가 nil을 허용하고이 경우 키는 기본적으로 nil을 가지며 클래스에 선언 된 변수는 기본값을 가져야 함을 의미합니다 – carlos21

1

.

+0

새로운 오류로 업데이트되었습니다. 나는 이제 나의 "열쇠"재산에 문제가있다. 그리고 왜이 이니셜 라이저를 사용해야합니까? 혼란 스러움의 종류 .... – tccpg288

+1

이제 StackOverflow 검색에는 좋지 않은 두 가지 문제가 있습니다. 기본적으로 값이 선택 적이 지 않으면 값이 있어야합니다. 속성 선언시 설정하지 않으면 이니셜 라이저에 설정해야합니다. – CosmicMind

0

). 당신은 핵심 데이터의 클래스 개체를 저장하고 핵심 데이터의 레코드를 읽을 수 있다면, 당신이 인코딩 및 디코딩을 할 필요가 object.For 예를 고객에게 개체를 복원 할 경우

public required init?(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder) 
    // do something here if you need ... 
} 

디코더 유용 그것.