CoreData问题: - [NSManagedObject setValue:]:发送到实例的无法识别的选择器

时间:2017-04-30 16:17:32

标签: ios swift core-data

我已经创建了实体(Article)并且能够获取已保存的数据。现在我想在视图控制器上显示数据,但在第三行,它正在崩溃(“Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Article modiffied_date]: unrecognized selector sent to instance 0x60800009ccf0”)。

currentSelectedArticleArticle

的对象
 1. title = currentSelectedArticle?.title 
 2. image_url = currentSelectedArticle?.image_url 
 3. newdate = currentSelectedArticle?.modiffied_date

但是当我以前打印currentSelectedArticle时,它显示在下方。

 <Article: 0x60800009ccf0> (entity: <null>; id: 0xd000000000080024 <x-coredata://D5402915-E542-4044-B14B-A3BF423847EC/Article/p2> ; data: <fault>)

我做错了什么?

2 个答案:

答案 0 :(得分:1)

从CoreData中提取数据时遇到了同样的问题!所以,我在这样的Swift 3中实现了它。

第1步:添加import CoreData

第2步:添加以下代码。

let context = ( UIApplication.shared.delegate as! AppDelegate ).persistentContainer.viewContext
var request = NSFetchRequest<NSFetchRequestResult>()
request = Article.fetchRequest()
request.returnsObjectsAsFaults = false
let arrayArticle = try context.fetch(request)

答案 1 :(得分:1)

如果您在管理对象出现故障之前打印了该对象的描述,则您不会获得大量信息。我建议你尝试以下代码进行调试:

if let article = currentSelectedArticle {
    title = article.title
    image_url = article.image_url
    print("Selected article: \(article)")
}

似乎titleimage_url有效,因此检索它们会导致核心数据在对象中出错,然后当您print时,您将能够看到所有属性的值。