2015-02-12 80 views
0

当创建斯威夫特NSManagedObject子类,我得到一个错误:斯威夫特 - CoreData的NSManagedObject子类

2015-02-12 00:12:57.662 MyApp[1934:272844] CoreData: warning: Unable to load class named ‘ClassName' for entity 'ClassName'. Class not found, using default NSManagedObject instead. 

我可以在斯威夫特子类手动添加@objc(ClassName)解决这个问题,但这样做不仅失利的自动目的子类化,但我不想浪费我的开发时间将其添加到所有二十个子类中。

最初我做了这件事,刚刚完成了。但是这一次我需要改变我的模型并重新生成所有的子类,并且有一个最后期限,那么克服这个错误的正确方法是什么,所以再生我的模型的子类并不意味着浪费了太多时间/耐心。

感谢一如既往

+0

所以我刚刚发现这个:https://developer.apple.com/library/mac/documentation/Swift/Conceptual/BuildingCocoaApps/WritingSwiftClassesWithObjective-CBehavior.html'实现核心数据管理对象子类“ - 但我必须在我的所有类上手动执行此操作?这似乎是非常简单的苹果 – 2015-02-12 00:26:53

+0

这是你指的是什么? – 2015-02-12 07:20:27

回答

0

你是运气不好。 Swift中的一些东西并不像他们在Objective-C中那样工作。

考虑编写一个脚本(用Perl,Python或Swift!)来插入缺失的行。例如,类声明的第一行总是在同一行,因此提取类名并插入相应的调用应该很简单。