我想在Swift Struct中声明一个委托。例如,在viewController中,您可以加载委托:
class ViewController : UIViewController, UITableViewDelegate
但是在Struct文件中,我尝试相同:
struct sample:UITableViewDelegate
但是我收到了这个错误:
Non-Class type 'sample' cannot conform to class protocol NSObjectProtocol
如何将委托添加到Struct文件?
我真的很感谢你的帮助。
答案 0 :(得分:1)
swift中的结构只能使用关键字class
符合未标记为类协议的协议,如CustomStringConvertible
协议
答案 1 :(得分:0)
错误说明了一切。如果你不是一个班级,你就不能符合NSObjectProtocol(所有协议的父类)!
考虑使用vanilla类,如果它必须符合协议,它首先不应该是一个结构!