Swift-代理用Weak修飾報錯問題

weak 屬性修飾會報錯。
‘weak’ must not be applied to non-class-bound ‘YJReaderRecommendOneBookViewProtocal’; consider adding a protocol conformance that has a class bound

weak與弱引用計數有關,只能修飾對象,不能修飾協議限制的any。

3個解決方案:

protocol YJReaderRecommendOneBookViewProtocal: NSObjectProtocol {
    func testProtocal1()
}

class TestVC: UIViewController {
    weak var delegate: YJReaderRecommendOneBookViewProtocal?
}
protocol YJReaderRecommendOneBookViewProtocal: class {
    func testProtocal1()
}

class TestVC: UIViewController {
    weak var delegate: YJReaderRecommendOneBookViewProtocal?
}
@objc protocol YJReaderRecommendOneBookViewProtocal {
    func testProtocal1()
}

class MyViewController: UIViewController {
    weak var delegate: YJReaderRecommendOneBookViewProtocal?
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章