kim*_*bot 8 iphone xcode core-data objective-c ios
我有一个使用Core Data并在其中加载sqlite数据库的示例程序.我正在使用此代码显示所有值
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Name"
inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
for (Name *name in fetchedObjects) {
NSLog(@"ID: %@", name.nameId);
NSLog(@"First Name: %@", name.first);
NSLog(@"Middle Name: %@", name.middle);
NSLog(@"Last Name: %@", name.last);
}
Run Code Online (Sandbox Code Playgroud)
这段代码工作正常,我的问题是我无法选择特定的数据/记录.示例我想选择ID = 1的记录.
谢谢!
Pie*_*rre 16
您必须在请求执行之前使用谓词(使用NSPredicate).
像这样的东西:
NSPredicate *predicateID = [NSPredicate predicateWithFormat:@"nameID == %d",-1];
[fetchRequest setPredicate:predicateID];
Run Code Online (Sandbox Code Playgroud)
Jan*_*mal 10
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Name"
inManagedObjectContext:context];
[fetchRequest setEntity:entity];
//Add following method to your code. this will help you to get desired result.
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"yourColumnID == %@", yourID]];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
for (Name *name in fetchedObjects) {
NSLog(@"ID: %@", name.nameId);
NSLog(@"First Name: %@", name.first);
NSLog(@"Middle Name: %@", name.middle);
NSLog(@"Last Name: %@", name.last);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6899 次 |
| 最近记录: |