xcode 7種使用coredata遇到 Class not found, using default NSManagedObject instead.問題

CoreData: warning: Unable to load class named 'CoreDataSwift2_2.Bowtie' for entity 'Bowtie'.  Class not found, using default NSManagedObject instead.

fatal error: NSArray element failed to match the Swift Array Element type

xcode 7 中遇到這種問題糾結了很久,最終解決了。

 

This warning is quite annoying. It appears spuriously. I have been able to get rid of it in most cases by making sure that the class is set correctly in the model editor. Unlike in many other SOF posts, the suggestion to include the module name (like MyApp.Shows) has not helped me.xcode

1.
Version that works up to Xcode 7 beta 3 app

Up to XCode7 b3

Notice that I corrected your entity name to the more appropriate singular.post

Version that works for Xcode 7 beta 4 and above ui

You need to delete the text "Current Product Module" in Module!this

From Xcode7 beta 3

2.
You should also follow the frequent recommendation to include code

@objc(Show)

just above your class.ip

Note: If you are using Xcode 7 beta 4 or later, this step is optional.element

3.
Also make sure to cast the created managed object to the proper class, as the default would be just NSManagedObject. get

var newShow = NSEntityDescription.insertNewObjectForEntityForName("Show", 
                 inManagedObjectContext: context) as Show
相關文章
相關標籤/搜索