gpt4 book ai didi

ios - NSEntityDescription.insertNewObjectForEntityForName 无法类型转换为 NSManagedObject 子类

转载 作者:行者123 更新时间:2023-11-30 13:48:48 25 4
gpt4 key购买 nike

我的核心数据堆栈中有一个简单的实体(称为日记)。该实体有一个属性(名称)

我使用编辑器生成了 NSManagedObject 子类。我还确保类名称遵循 appName.DiaryEntry 格式

xcode 7 删除了“.”并给我一个名称为:appNameDiaryEntry

的类(class)

这是我正在使用的代码

let diaryEntry : DiaryDiaryEntry

diaryEntry = NSEntityDescription.insertNewObjectForEntityForName("DiaryDiaryEntry", inManagedObjectContext: dataStoreController.managedObjectContext!) as DiaryDiaryEntry

在上面的代码中,DiaryDiaryEntry 是从 coredata 模型创建的 NSManagedObject 子类。

我收到一条错误消息

'NSManagedObject' is not convertible to 'DiaryDiaryEntry'

如果我使用 as! 强制向下转型,它可以工作,但在运行时会出现错误(因为该值为零并且强制解包?)

有什么想法可以解决这个问题吗?谢谢,卡蒂克

最佳答案

您当然必须使用 as! 进行向下转型,但是当 NSEntityDescription.insertNewObjectForEntityForName(...) 返回 nil< 时,显然还有其他问题出现。/。您应该检查您的实体名称是否正确(必须与数据模型中为实体指定的名称相同)。打开数据模型并选择所需实体时,您可能需要查看数据模型检查器:您必须在 Class 下指定类的名称,然后选择当前项目模块<模块下的

关于ios - NSEntityDescription.insertNewObjectForEntityForName 无法类型转换为 NSManagedObject 子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34581222/

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