[SWIFT] '메서드 호출에 자기의 사용는 super.init 자체를 초기화하기 전에'는 메서드 호출을 통해 속성을 초기화하기 수 없습니다
SWIFT'메서드 호출에 자기의 사용는 super.init 자체를 초기화하기 전에'는 메서드 호출을 통해 속성을 초기화하기 수 없습니다
해결법
-
1.문서 양식 :
문서 양식 :
당신이는 super.init ()를 호출 그리고이 작업 후에는 인스턴스 메소드를 호출하기 위해 액세스하기 전에 인스턴스 변수에 대한 설정 값이 필요합니다. 귀하의 경우에는이 작업을 수행 할 수 있습니다 :
override init (frame : CGRect) { self.collectionView = UICollectionView() super.init(frame : frame) // Now you can call method self.someMethod() }
질문의 편집을 위해 ADD :
당신 때문에 안전 이유는 super.init ()를 호출하기 전에 메소드를 호출 할 수 없습니다. 당신이 그것을 할 경우 다음 방법은 아직 부모 클래스에서 초기화되지 않은 일부 속성을 사용할 수 있습니다
from https://stackoverflow.com/questions/33765485/use-of-self-in-method-call-before-super-init-initializes-self-cant-init-prop by cc-by-sa and MIT license
'SWIFT' 카테고리의 다른 글
[SWIFT] 앱은 jQuery과에 표시되고 업데이트 코어 데이터 모델 후 충돌 (0) | 2020.11.07 |
---|---|
[SWIFT] 또 다른 옵션을 보유하고 선택 항목의 정렬 배열 (0) | 2020.11.07 |
[SWIFT] 방법 배경 IOS에서 실행 alamofire 다운로드 진행 상황을 만들어? (0) | 2020.11.07 |
[SWIFT] 빠른에 watchkit에 아이폰에서 데이터를 전송하는 방법 (0) | 2020.11.07 |
[SWIFT] 폐쇄 인수 목록에 대한 콘텐츠 유형 1 개 인수를 예상하고 있지만, 4는 지정된 (0) | 2020.11.07 |