0
コアデータに文字列を追加しようとすると、タイトルエラーが発生します。ここに私のコードは次のとおりです。解放されたインスタンスに送信されたメッセージコアデータ
cell!.textLabel!.text = transaction.valueForKey("name") as? String
そして、これは完全なエラーの説明です:
func save(name: String) {
let model = CoreDataModel(modelName: modelName, modelBundle: modelBundle!, storeType: .SQLite(DocumentsDirectoryURL()))
let factory = CoreDataFactory(model: model)
let context = factory.createContext()
let entity = NSEntityDescription.entityForName("Transaction", inManagedObjectContext: context)
let transaction = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: context)
transaction.setValue(name, forKey: "name")
do {
try context.save()
transactions.append(transaction)
}catch let error as NSError {
print(error)
}
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell")
let transaction = transactions[indexPath.row]
print(transaction)
cell!.textLabel!.text = transaction.valueForKey("name") as? String
return cell!
}
エラーは、このライン上にある
<NSManagedObject: 0x7f9d5c216a90> (entity: <null>; id: 0xd000000000040000 <x-coredata://442A125F-AB41-4CA3-AAA5-A5C59840D5EE/Transaction/p1> ; data: <fault>)
2016-04-13 19:25:29.207 Project1[22981:2242560] *** -[NSEntityDescription _entityClass]: message sent to deallocated instance 0x7f9d5c2089e0
誰もが、私はこれを取得していますなぜアイデアを持っています?
作成した管理対象オブジェクトを追加するのではなく、各更新後にトランザクションストアをデータストアからフェッチする必要があります。 –
は後でそれを行いますが、最初の項目を追加するときにこの問題を修正しようとしています。 – Kobe