簡體   English   中英

在Swift中使用協議

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM