我有这个目标-C协议
@protocol Parcelable <NSObject>
@required
- (instancetype)initWithData:(NSDictionary *)data;
@end
我似乎无法在Swift类中找到实现的方法。我试过了
required init(data: NSDictionary) {
super.init()
... //do something with data
}
甚至
func initWithData(data: NSDictionary) -> Self {
... //do something with data
}
但它一直说该课程不符合协议&#39; Parcelable&#39;
有什么想法吗?
答案 0 :(得分:0)
啊哈!实现该协议的正确方法是
required init(data: [NSObject : AnyObject]) {
super.init()
... //do something with data
}
Swift将NSDictionary
翻译为[NSObject : AnyObject]
并且无法识别NSDictionary
本身(?)