1
그래서 Swift를 배우기 시작했습니다. ObjC보다 더 좋아 보이기 때문입니다. 그러나 내가 Xcode가 왜 정의되지 않은 멤버를 호출하려고하는지 비명을 지르는 문제를 볼 수 없기 때문에 나는 피곤할 것임 (현재 2:37 AM). 문제는 엑스 코드가 stackViewNumberOfItems(self)
스위프트 프로토콜 방법 사용법
PeopleStackViewDataSource를 말합니다이 줄
return self.datasource ? self.datasource.stackViewNumberOfItems(self) : 0
입니다PeopleStackViewDataSource.swift
import Foundation import UIKit protocol PeopleStackViewDataSource { func stackViewNumberOfItems(stackView: PeopleStackView) -> Int func stackViewGetView(indexPath: NSIndexPath) -> UIView }
PeopleStackView.swift
import Foundation import UIKit class PeopleStackView: UIView { var datasource: PeopleStackViewDataSource? { didSet { self.redraw() } } var scaleDownBy: Double = 0.1 init(frame: CGRect) { super.init(frame: frame) } init(frame: CGRect, datasource: PeopleStackViewDataSource) { super.init(frame: frame); self.datasource = datasource; } func numberOfItems() -> Int { return self.datasource ? self.datasource.stackViewNumberOfItems(self) : 0 } func redraw() { } }
': 아래의 코드를 참조하십시오? 'stackViewNumberOfItems
그래서, 문제는 이름의 멤버가없는?
그래서 '?' 사실? –
이는 'PeopleStackViewDataSource'의 '선택 사항'즉, 'PeopleStackViewDataSource'와는 다른 유형입니다. 그것에 대해 더 알고 싶다면 공식 가이드를 읽으십시오. –
그래서 내 수표에 대해 구문이 어떻게 보이고 '?' –