我有以下代码。 response.result.value
的类型为Optional(AnyObject)
,我想查看
[[String: AnyObject]]
如果......返回...声明
,我更喜欢一个线卫Alamofire.request(.GET, API.listArticle).responseJSON {
response in
print(response.result.value)
guard let articles = response.result.value as? [[String: AnyObject]] where articles.count > 0 else {
return
}
for article in articles {
let entity = NSEntityDescription.insertNewObjectForEntityForName("Article", inManagedObjectContext: DBHelper.context()) as! Article
entity.title = article["title"]
entity.content = article["content"]
}
}
错误为article["content"]
行,
cannot subscript a value of type Dictionary<String, AnyObject> with an index of type String
。
我还需要检查title
中是否存在article
?它会崩溃还是什么都不做?
答案 0 :(得分:4)
问题是您使用的是value
类型为AnyObject
的词典,以填充可能title
的{{1}}和content
属性(右?)
你不能把(在编译时)声明String
的东西放到AnyObject
属性中。
只需替换此
String
用这个
entity.title = article["title"]
entity.content = article["content"]
此更新内容将丢弃entity.title = article["title"] as? String
entity.content = article["content"] as? String
和title
值不正确的文章。
content