Swift 대리인 주위에서 머리를 쓰려고 노력하고 있으며 놀이터를 훔쳤거나/노크 업했지만 대리자 함수를 호출 할 수없는 것처럼 보입니다.Swift 3 대리인 함수가 호출되지 않았습니다.
protocol fBookDelegate:class {
func processData(data: String)
}
class fBook {
weak var delegate: fBookDelegate?
init() {
print("initialising fBook")
delegate?.processData(data: "hello world")
print("we should have printed")
}
}
class fMain: fBookDelegate {
init() {
print("initialising fMain")
let getfBook = fBook()
getfBook.delegate = self
print("all done let's rumble")
}
func processData(data: String) {
print("processing data from fBook with \(data)")
}
}
var controller = fMain()
누구든지 내 실수를 감지 할 수 있습니까?
protocol fBookDelegate:class {
func processData(data: String)
}
class fBook {
weak var delegate: fBookDelegate?
init() {
print("initialising fBook")
}
func talkToMe() {
delegate?.processData(data: "hello world")
}
}
class fMain: fBookDelegate {
init() {
print("initialising fMain")
let getfBook = fBook()
getfBook.delegate = self
getfBook.talkToMe()
print("all done let's rumble")
}
func processData(data: String) {
print("processing data from fBook with \(data)")
}
}
var controller = fMain()
또 다른 매개 변수로 위임 소요 사용자 정의 초기화 방법이 될 것입니다 :
내가 출력을 얻을 모든
은initialising fMain
initialising fBook
we should have printed
all done let's rumble
당신은 fBook의 초기화에 대리자를 사용하려는하지만 당신은 당신이를 초기화하기 전까지는 설정하지 않는다 목적. –
fBook init을 수정하여 나중에 대리인을 속성으로 지정하는 대신 매개 변수로 사용합니다. – ghostatron