在Swift类中访问协议属性

时间:2016-01-11 20:42:01

标签: ios swift delegates protocols

我正在尝试使用协议将数组从一个类传递到另一个类。

protocol PinsArray {
var dataArray: [LocationPost] {get set}
}

当我尝试在课堂上创建一个委托时,应该接收它不起作用。我无法访问该属性

var delegate = PinsArray.self

像这样:

delegate.dataArray

它说"实例成员' dataArray'不能用于PinArray"

那我该怎么办?

2 个答案:

答案 0 :(得分:0)

您要将SELECTs类型分配给PinsArray,而不是指定符合delegate的类的实例。您需要实现一个符合PinsArray的类,并将该类的实例分配给委托。请参阅以下示例:

PinsArray

您可以使用上面的类创建符合class SomeClass: PinsArray { var dataArray: [LocationPost] // ... } 的对象实例。

PinsArray

然后你可以使用:

var delegate = SomeClass()

答案 1 :(得分:0)

我用拼写错误宣告了代表,它应该是这样的:

var delegate: PinsArray?