仅获取 UniqueID 列并填充数组
我使用下面的代码从 ManagedObjectContext 填充一个数组,但我想做的是仅获取与我的查询匹配的每行的唯一 ID 号 (itemType = 1),并仅使用这些唯一的 ID 填充 fetchResults 数组身份证号码。这可能吗? 任何帮助表示赞赏。 lq
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"MyAppName"
inManagedObjectContext:[self managedObjectContext]]];
NSError *error = nil;
NSPredicate *predicate;
NSArray *fetchResults;
predicate = [NSPredicate predicateWithFormat:@"(itemType = %i)", 1];
[request setPredicate:predicate];
fetchResults = [managedObjectContext executeFetchRequest:request error:&error];
if (!fetchResults) {
// NSLog(@"no fetch results error %@", error);
}
self.mutableArrayName = [NSMutableArray arrayWithArray:fetchResults];
[request release];
I'm using the code below to populate an array from my ManagedObjectContext, but what I would like to do is to fetch only the unique ID numbers of each row matching my query (itemType = 1) and populate the fetchResults array with only these unique ID numbers. Is that possible?
Any help is appreciated.
lq
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"MyAppName"
inManagedObjectContext:[self managedObjectContext]]];
NSError *error = nil;
NSPredicate *predicate;
NSArray *fetchResults;
predicate = [NSPredicate predicateWithFormat:@"(itemType = %i)", 1];
[request setPredicate:predicate];
fetchResults = [managedObjectContext executeFetchRequest:request error:&error];
if (!fetchResults) {
// NSLog(@"no fetch results error %@", error);
}
self.mutableArrayName = [NSMutableArray arrayWithArray:fetchResults];
[request release];
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为了帮助有类似需求的人,我正在回答我自己的问题。我找到了一个解决方案,可以以查询形式从 SQLite 数据库中提取特定的行和/或列数据,而不是使用带有谓词的 Fetch。 (注意:代码显示了提取字符串和整数数据类型的示例。)
首先,添加 libsqlite3.0.dylib 的框架
在标头中添加以下文件:
在实现文件中添加以下内容:
To help anyone with similar needs, I'm answering my own question. I figured out a solution that works for pulling specific row and/or column data from my SQLite database in query form, rather than using Fetch with Predicate. (Note: code shows examples for extracting string and integer data types.)
First, add a Framework for libsqlite3.0.dylib
In the header add the following file:
In the implementation file add the following:
或
predicate = [NSPredicate predicateWithFormat:@"(itemType == %i)", 1];
应该都可以。
or
predicate = [NSPredicate predicateWithFormat:@"(itemType == %i)", 1];
should both work.