簡體   English   中英

難以弄清楚如何從CoreData獲取NSManagedObject子類實體

[英]Difficulty figuring out how to fetch an NSManagedObject subclass entity from CoreData

描述

我承認我主要是在猜測並嘗試將網上找到的東西拼湊起來,以完成此處的工作。 這項工作非常簡單:我正在嘗試從實體“ CrawlerOne”中檢索單個屬性,並將其設置為UILabel。

let key = "CrawlerDistance"
let request = NSFetchRequest<CrawlerOne>(entityName: "CrawlerOne")
request.returnsObjectsAsFaults = false;
let resultPredicate = Predicate(format: "formUUID = %@" , key)
var compound = CompoundPredicate.init(andPredicateWithSubpredicates: [resultPredicate])
var results:NSArray = try context.executeFetchRequest(request, error:nil)

就像我說的那樣,我無疑知道這是錯誤的。 我正在嘗試使用NSPredicate查找名稱為“ CrawlerDistance”的實體。 我在上一條錯誤消息中說“使用未解析的標識符'上下文'。” 我在這里很迷失和掙扎,希望得到一些指導。 我真的很想知道我的思考過程和/或克服這個錯誤需要什么/解決所有問題是否正確。

這是用swift 3編寫的,用於excode beta 8.0

保存

這是我用於保存要檢索的對象的代碼:

let appDel:AppDelegate = (UIApplication.shared().delegate as! AppDelegate)
let context:NSManagedObjectContext = appDel.managedObjectContext
let entity1 = NSEntityDescription.insertNewObject(forEntityName: "CrawlerOne", into:context) as NSManagedObject as! CrawlerOne
entity1.crawlerDistance = distance.text

這是CrawlerOne + CoreDataProperties.swift文件

import Foundation
import CoreData

extension CrawlerOne {

@nonobjc class func fetchRequest() -> NSFetchRequest<CrawlerOne> {
return NSFetchRequest<CrawlerOne>(entityName: "CrawlerOne");
}

@NSManaged var crawlerAbrasion: String?
@NSManaged var crawlerDistance: String?

}

只是給您一個代碼示例以供您參考,而沒有確切解釋所有錯誤的地方,而且顯然我無法對其進行測試,因此某些事情可能仍然有問題...:

let targetValue = "CrawlerDistance"
let request = NSFetchRequest<CrawlerOne>(entityName: "CrawlerOne")
request.predicate = Predicate(format: "crawlerDistance = %@" , targetValue)

let appDel:AppDelegate = (UIApplication.shared().delegate as! AppDelegate)
let context:NSManagedObjectContext = appDel.managedObjectContext

var results:NSArray = try context.executeFetchRequest(request)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM