이 자습서 http://www.raywenderlich.com/62435/make-swipeable-table-view-cell-actions-without-going-nuts-scroll-views을 따라 사용자 정의 테이블 셀을 만듭니다. 그러나 나는 객관적인 것 대신에 신속한 것을 사용하고 있습니다.swift를 사용하여 사용자 정의 테이블보기 셀 만들기
다음은 신속한 내 테이블 셀보기입니다.
protocol SwipeableCellDelegate {
func buttonOneActionForItemText(itemText: NSString)
func buttonTwoActionForItemText(itemText: NSString)
}
class MyTableViewCell: UITableViewCell {
@IBOutlet weak var button1: UIButton!
@IBOutlet weak var button2: UIButton!
@IBOutlet weak var mytextLabel: UILabel!
@IBOutlet weak var testLabel: UILabel!
var delegate: SwipeableCellDelegate
init(delegate: SwipeableCellDelegate) {
self.delegate = delegate
super.init()
}
required init(coder aDecoder: NSCoder) {
// fatalError("init(coder:) has not been implemented")
super.init(coder : aDecoder)
}
}
하지만 컴파일되지 않습니다, 내가 말하는 오류가 발생합니다 :
MyTableViewCell.swift : 38 : 9 : 부동산의 'self.delegate이'는 super.init 호출
그리고 경우에 초기화되지 "초기화 (코더 aDecoder : NSCoder) 제거" '초기화' '초기화 (코더 :)'UITableViewCell의 하위 클래스에 의해 제공되어야합니다 '오류가 발생합니다. (: NSCoder 코더 aDecoder)
나는이 스레드 내 필요한 초기화에 수행 할 작업에 대한 Class does not implement its superclass's required members
을 읽었습니다.
하지만 코드를 컴파일 할 수 없습니다.
누군가가 도와 주시면 감사하겠습니다.
감사합니다.
감사에 대한 (가 nil이 될 수 있음을 의미)가 선택하게하는 것입니다. 델리게이트를 선택적으로 변경하려고했습니다. 그리고 저는 setter 메소드를 추가합니다 : var delegate : SwipeableCellDelegate? setDelegate (대리인 : SwipeableCellDelegate) { self.delegate = 델리게이트 }. 하지만 지금은 '예상 선언'이라고 말하는 컴파일러 오류가 발생합니다. – n179911
왜 세터를 추가하나요? 이것은 원래의 질문과 관련이 있습니까? – ccwasden
그래, 내 setter 메서드를 제거 할 수 있고 호출자가 내 테이블 셀 뷰의 'delegate'멤버를 직접 설정했다고 생각합니다. 당신의 도움을 주셔서 감사합니다. – n179911