我正在尝试使用协议将数组从一个类传递到另一个。
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