我有一个问题,我找不到解决方案,我有一个对象的扩展Article
,它有一个函数,它使用字典中包含的数据创建对象,作为参数传递给函数,这是代码:
protocol EntityProtocol {
mutating func createEntityWithDictionary(dictionary: Dictionary<String, AnyObject>)
}
extension Article: EntityProtocol {
func createEntityWithDictionary(dictionary: Dictionary<String, AnyObject>) {
var article: Article! = ModelManager.instance.insertNewEntityName("Article") as Article
for (key: String, value: AnyObject) in dictionary {
switch key {
case kContentTypeKey:
article.contentType = value as String
case kEditorsPickKey:
article.editorsPick = value as Bool
default:
println("Default")
}
}
}
}
好的,所以在另一个类中,我调用了将字典作为参数传递的 func,但是当我编写Article.createEntityWithDictionary
它时,它会自动完成方法的名称,但参数的类型是Article
而不是Dictionary
,如果我将字典作为参数传递,XCode 会说“ NSDictionary 不是“文章”的子类型。
我在这里想念什么?