gpt4 book ai didi

ios - 从 NSDictionary 获取对象时类型 'String' 不符合协议(protocol) 'NSCopying' 错误

转载 作者:IT王子 更新时间:2023-10-29 05:35:04 24 4
gpt4 key购买 nike

在 Swift 中尝试从 NSDictionary 中提取对象时出现错误:

Type 'String' does not conform to protocol 'NSCopying'

我尝试将 key 从 String 转换为 NSString 但我没有解决问题。任何人都可以阐明一下吗?这是代码:

var excerciseCategoryDictionary = object as NSDictionary

let category = NSEntityDescription.insertNewObjectForEntityForName(NSStringFromClass(ExcerciseCategory.self),
inManagedObjectContext: AppDelegate.sharedInstance().managedObjectContext) as ExcerciseCategory

category.name = excerciseCategoryDictionary["name"]

错误发生在最后一行。

enter image description here

最佳答案

Swift 自动转换 NSDictionary作为Dictionary<NSObject, AnyObject> .如果您知道一个值存储在 NSDictionary 中是一个字符串,那么你必须转换为 String .

你的问题是关于值(value),而不是关键,所以你只需要按如下方式转换:

category.name = excerciseCategoryDictionary["name"] as String

category.name = excerciseCategoryDictionary["name"] as String?

根据你赋值的对象的实际类型

关于ios - 从 NSDictionary 获取对象时类型 'String' 不符合协议(protocol) 'NSCopying' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24725708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com