尝试从Swift中的NSDictionary中提取对象时出错:
类型'字符串'不符合协议'NSCopying'
我试图将密钥从String转换为NSString,但我没有解决问题.任何人都能解释一下吗?这是代码:
var excerciseCategoryDictionary = object as NSDictionary
let category = NSEntityDescription.insertNewObjectForEntityForName(NSStringFromClass(ExcerciseCategory.self),
inManagedObjectContext: AppDelegate.sharedInstance().managedObjectContext) as ExcerciseCategory
category.name = excerciseCategoryDictionary["name"]
Run Code Online (Sandbox Code Playgroud)
错误发生在最后一行.

Ant*_*nio 18
Swift自动转换NSDictionary为Dictionary<NSObject, AnyObject>.如果您知道存储在a中的值NSDictionary是一个字符串,那么您必须转换为String.
你的案例中的问题是关于价值而不是关键,所以你只需要按如下方式进行投射:
category.name = excerciseCategoryDictionary["name"] as String
Run Code Online (Sandbox Code Playgroud)
要么
category.name = excerciseCategoryDictionary["name"] as String?
Run Code Online (Sandbox Code Playgroud)
取决于您分配值的对象的实际类型
| 归档时间: |
|
| 查看次数: |
9388 次 |
| 最近记录: |