·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> xcode7种使用coredata遇到Classnotfound,usingdefaultNSManagedObjectinstead.问题
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.
1.
Version that works up to Xcode 7 beta 3
Notice that I corrected your entity name to the more apPRopriate singular.
Version that works for Xcode 7 beta 4 and above
You need to delete the text "Current Product Module" in Module!
2.
You should also follow the frequent recommendation to include
@objc(Show)
just above your class.
Note: If you are using Xcode 7 beta 4 or later, this step is optional.
3.
Also make sure to cast the created managed object to the proper class, as the default would be just NSManagedObject
.
var newShow = NSEntityDescription.insertNewObjectForEntityForName("Show",
inManagedObjectContext: context) as Show