self를 사용하여 subviewGroup 속성을 초기화하고 싶지만 다음과 같은 오류가 있습니다. 'self.gridView'속성이 super.init에서 초기화되지 않았습니다. 내가 알고신속하게 나는 super.init() 이전에 초기화 할 수 없습니다.
'자기'는 super.init 호출 이전에 사용 :이
init(frame: NSRect) {
subviewGroup = GridViewGroup(rows: 9, columns: 9, gridView: self)
super.init(frame: frame)
}
/*** Properties ***/
let subviewGroup: GridViewGroup
같은 초기화 후에는 super.init()를 넣어 경우
init(frame: NSRect) {
super.init(frame: frame)
subviewGroup = GridViewGroup(rows: 9, columns: 9, gridView: self)
}
/*** Properties ***/
let subviewGroup: GridViewGroup
나는 오류를 얻을 ~을 사용할 수있다. 선택 사항이지만 init() 호출 후에는 결코 nil이되지 않으므로 불필요한 것처럼 보입니다. subviewGroup을 선택 사항으로 만들지 않고도 올바르게 수행 할 수 있습니까? 여기
당신이 발견, 선택적으로 사용하고, 옵션
/*** Initializers ***/
init(frame: NSRect) {
super.init(frame: frame)
subviewGroup = GridViewGroup(rows: 9, columns: 9, gridView: self)
}
/*** Properties ***/
let subviewGroup: GridViewGroup?
이 내용은 [http://stackoverflow.com/questions/24351211/property-not-initialized-at-super-init-call](http://stackoverflow.com/questions/24351211/property)와 유사하다는 것을 알고 있습니다. -not-initialized-at-super-init-call)하지만 충분히 평판이 나지 않아서 질문에 대해 언급 할 수 없었습니다. –
내가 정말로 알고 싶은 것은 옵션을 사용하지 않는 방법이 있다면입니다. –
Do 선택 사항을 사용하는 실제 예제가 있습니까? – connor