在Swift类中访问协议属性
我试图使用协议将数组从一个类传递到另一个类。
protocol PinsArray { var dataArray: [LocationPost] {get set} }
当我试图在课堂上创建一个委托时,它应该收到它不起作用。 我无法访问该物业
var delegate = PinsArray.self
喜欢这个:
delegate.dataArray
它说“实例成员’dataArray’不能用于PinArray类型”
那我该怎么办?
您正在将PinsArray
的类型分配给delegate
而不是分配符合PinsArray
的类的实例 。 您需要实现一个符合PinsArray
的类,并将该类的实例分配给委托。 请参阅以下示例:
class SomeClass: PinsArray { var dataArray: [LocationPost] // ... }
您可以使用上面的类来创建符合PinsArray
的对象实例。
var delegate = SomeClass()
然后你可以使用:
delegate.dataArray
我用一个拼写错误宣告代表,它应该是这样的:
var delegate: PinsArray?