我嘗試使用以下代碼從CoreData中提取數(shù)據(jù)NSFetchRequest *request = [[NSFetchRequest alloc] init];request.entity = [NSEntityDescription entityForName:@"Cave" inManagedObjectContext:self.context];request.predicate = [NSPredicate predicateWithFormat:@"(latitude > 0) AND (longitude > 0)"];NSError *error;NSLog(@"%@",[self.context executeFetchRequest:request error:&error]);NSLog(@"%@",[error localizedDescription]);CoreData應(yīng)該具有9個(gè)匹配的對象,并找到9個(gè)對象。所以謂詞應(yīng)該起作用,但是我在控制臺(tái)中得到了2011-09-05 07:41:42.267 CaveConditions[6930:11903] ( "<NSManagedObject: 0x7368060> (entity: Cave; id: 0x7367880 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p31> ; data: <fault>)", "<NSManagedObject: 0x73547e0> (entity: Cave; id: 0x7356e20 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p40> ; data: <fault>)", "<NSManagedObject: 0x73681e0> (entity: Cave; id: 0x7363e60 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p42> ; data: <fault>)", "<NSManagedObject: 0x7368280> (entity: Cave; id: 0x7356be0 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p72> ; data: <fault>)", "<NSManagedObject: 0x7368320> (entity: Cave; id: 0x733ad80 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p73> ; data: <fault>)", "<NSManagedObject: 0x73683c0> (entity: Cave; id: 0x7333e70 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p91> ; data: <fault>)", "<NSManagedObject: 0x7368480> (entity: Cave; id: 0x7361810 <x-coredata://C825FC9D-3490-4D8A-A811-979B819A2EB6/Cave/p101> ; data: <fault>)",)在我對Cave.m(即實(shí)體)進(jìn)行以下更改之前,它一直運(yùn)行良好我在Cave.h中將MKAnnotation添加為委托,并在Cave.m中添加了此代碼。- (CLLocationCoordinate2D)coordinate{ CLLocationCoordinate2D location; location.latitude = [self.latitude doubleValue]; location.longitude = [self.longitude doubleValue]; return location;}有辦法調(diào)試嗎?
2 回答

慕姐4208626
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊
從CoreData提取數(shù)據(jù)時(shí),我遇到了同樣的問題!因此,我按照@jrturton的指示在Swift 3中實(shí)現(xiàn)了它:
步驟1:新增 import CoreData
步驟2:添加以下代碼。。
let context = ( UIApplication.shared.delegate as! AppDelegate ).persistentContainer.viewContext
var request = NSFetchRequest<NSFetchRequestResult>()
request = Your_Entity_Name.fetchRequest()
request.returnsObjectsAsFaults = false
do {
let arrayOfData = try context.fetch(request)
} catch {
// Handle the error!
}
希望會(huì)對您有幫助。:)
- 2 回答
- 0 關(guān)注
- 569 瀏覽
添加回答
舉報(bào)
0/150
提交
取消