[英]Using protocol in Swift
我想使用協議。 我有一個收集視圖和屬於該收集視圖的收集視圖單元格。 我在該單元格中有一個按鈕。 當用戶點擊此按鈕時,我想在collectionview類(而不是單元格類)中調用方法。
我正在用以下代碼定義單元格類 :
protocol testPro {
func replyClicked()
}
class MessageGalleryViewControllerCellCollectionViewCell: UICollectionViewCell {
var test1: testPro?
// ...
}
然后當用戶點擊按鈕系統時,在單元格類中調用以下方法。
func replyAction(sender:UIButton!)
{
test1?.replyClicked()
}
和我的收藏視圖類 :
class ReceivedPhotosViewController: UIViewController,UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, testPro {
func replyClicked() {
print("clicked")
}
}
但是我看不到任何類似“單擊”的日志。 因此它不起作用。 問題出在哪兒?
您沒有將test1
分配給您的單元格。 在你cellForItemAtindexPath
,把cell.test1 = self
實例化后的細胞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.