2015-06-21 114 views
0

我有一个自NSManagedObject:迅速 - CoreData

import Foundation 
import CoreData 
@objc(Article) 

class Article: NSManagedObject { 

    @NSManaged var articleID: String 
    @NSManaged var isFavorite: Bool 
    init(entity: NSEntityDescription, insertIntoManagedObjectContext context: NSManagedObjectContext?, articleID: String, isFavorite: Bool) { 
     super.init(entity: entity, insertIntoManagedObjectContext: context) 
     self.articleID = articleID 
     self.isFavorite = isFavorite 
    } 

    override init(entity: NSEntityDescription, insertIntoManagedObjectContext context: NSManagedObjectContext?) { 
     super.init(entity: entity, insertIntoManagedObjectContext: context) 
    } 
} 

但我有错误,当我索引树到一个新的条目添加到CoreData:

let articleEntity = NSEntityDescription.entityForName("Article", inManagedObjectContext: self.context!) 
let newArticle = Article(entity: articleEntity!, insertIntoManagedObjectContext: self.context!) 
newArticle.articleID = articleID 
newArticle.isFavorite = true 

使用未解决的标识符 '文章' 的

+0

你添加自定义NSManagedObject文件 “Article.swift” 的目标?检查文件检查器中的“目标成员”复选框... –

+0

我怎么找不到添加它的方法? –

+0

如果关闭,只需切换“目标成员”即可。 –

回答

2

从上面的信息看来,您似乎没有在配置t中为实体添加类他coredata。确保您已经在.xcdatamodeld文件的配置中将类映射到实体。你可以检查下面的例子。

enter image description here

+0

你是国王... –

+0

高兴,它帮助:) –

0

类tableViewController:UIViewController的{

let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext 

@IBOutlet var number: UITextField! 
@IBOutlet var name: UITextField! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Do any additional setup after loading the view. 
} 

@IBAction func adddata(_ sender: UIButton) 
{ 
    var std = Hiren(context: context) 

    std.name = name.text 
    std.number = number.text 

    (UIApplication.shared.delegate as! AppDelegate).saveContext() 

    self.navigationController?.popViewController(animated: true)