1
我有这样的代码在夫特1.2:夫特2型铸造字典
self.publicDatabase!.performQuery(query, inZoneWithID: nil) {
results, error in
if error != nil {
NotificationUtility.postNotification(Notify.CloudKitVenuesRetrieveFailed, userinfo: ["result":results, "error":error])
}
else
{
NotificationUtility.postNotification(Notify.CloudKitVenuesRetrieveSuccess, userinfo: ["result":results])
}
}
但在夫特2.0这产生几个编译器错误:
“表达的类型是没有更多的上下文模糊”
和
“无法将类型'[String:[CKRecord]?]'的值转换为期望的参数类型'[NSObject:AnyObject]?'”
我知道如何解决它,使错误消失,但它似乎很丑陋,哈克:
self.publicDatabase!.performQuery(query, inZoneWithID: nil) {
results, error in
if error != nil {
NotificationUtility.postNotification(Notify.CloudKitVenuesRetrieveFailed, userinfo: ["result":results as! AnyObject, "error":error as! AnyObject])
}
else
{
NotificationUtility.postNotification(Notify.CloudKitVenuesRetrieveSuccess, userinfo: ["result":results as! AnyObject])
}
}
难道还有比不必经过每一个项目在字典中,并迫使垂头丧气它一个更好的办法到“AnyObject”?