2015-02-12 71 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!)來插入缺失的行。例如,類聲明的第一行總是在同一行,因此提取類名並插入相應的調用應該很簡單。