Swift 符合协议的变量接受符合协议的变量
我在Item类中有一个ProtocolItem1协议类型的变量。我想做的是能够使用这个类并在这个变量中保存符合ProtocolItem1协议的对象,这可能吗?我知道用java可以创建一个接口,并以这种方式实现它。在目标C中,我看到了id,请让我知道 代码:Swift 符合协议的变量接受符合协议的变量,swift,swift3,Swift,Swift3,我在Item类中有一个ProtocolItem1协议类型的变量。我想做的是能够使用这个类并在这个变量中保存符合ProtocolItem1协议的对象,这可能吗?我知道用java可以创建一个接口,并以这种方式实现它。在目标C中,我看到了id,请让我知道 代码: 简短回答:是。 在Swift中,可以创建协议类型的属性。只要符合指定的协议,任何对象都可以分配给该属性 以下稍加修改的代码版本是有效的 protocol ProtocolItem1 {} class Item: NSObject {
简短回答:是。 在Swift中,可以创建协议类型的属性。只要符合指定的协议,任何对象都可以分配给该属性 以下稍加修改的代码版本是有效的
protocol ProtocolItem1 {}
class Item: NSObject {
var obj: ProtocolItem1?
}
class Item2: ProtocolItem1 {}
class OtherClass: UIViewController {
var dataSource: Item?
override func viewDidLoad(){
let object1 = Item2()
dataSource?.obj = object1
}
}
protocol ProtocolItem1 {}
class Item: NSObject {
var obj: ProtocolItem1?
}
class Item2: ProtocolItem1 {}
class OtherClass: UIViewController {
var dataSource: Item?
override func viewDidLoad(){
let object1 = Item2()
dataSource?.obj = object1
}
}