알림 관찰자를 추가 할 때 #selector
과제물에 어떤 문제가 있습니까?옵티 날 클로저가있는 스위프트 셀렉터 기능
NotificationCenter.default.addObserver(self, selector: #selector(reloadData), name: NSNotification.Name(rawValue: "reloadCollectionData"), object: nil)
func reloadData(completionHandler: ((Bool) -> Void)? = nil) {
mainCollectionView.reloadData()
completionHandler?(true)
}
나는 이미 같은 것들을 시도
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "reloadCollectionData"), object: nil)
notifiction를 게시 할 때마다 응용 프로그램 충돌을 #selector(reloadData(completionHandler: nil)
편집 : 나는 선택 #selector(reloadData(completionHandler:))
을 시도하지만 여전히와 충돌 알림을 게시하는 행의 오류 메시지 Thread 1: EXC_BAD_ACCESS (code=1, address=0x8)
.
모든 것이 잘 작동하지만, 그냥 전화를
NotificationCenter.default.addObserver(self, selector: #selector(testCall), name: NSNotification.Name(rawValue: "reloadCollectionData"), object: nil)
func testCall() {
self.reloadData()
}
'#selector (reloadData (completionHandler :))' –
완전하고 정확한 오류 메시지로 질문을 업데이트하거나 (의견을 게시하지 마십시오) 문제를 일으키는 정확한 행을 지적하십시오. – rmaddy
선택자에 대한 유일한 유효한 인수는'Notification'입니다. 다른 매개 변수를 사용하는 선택기를 전달할 수 없습니다. – rmaddy