我有父亲实体.父亲与孩子有一对多的关系.孩子有属性,其中一个是名字.
我想执行一个获取请求来获取:Father.name ="Joe"和名为joe的父亲我想要获取那些名为Ken的孩子:Child.name ="Ken"
所以我的主要目标是找到肯的父亲的名字叫乔.
我尝试了一些复合谓词和其他东西,但还没有运气.
知道如何解决这个问题吗?
谢谢
我有一个包含多个实体的核心数据模型,每个实体对应一个视图控制器,用户为每个实体插入信息,例如:
轮胎(第一个实体) - 类型(第一个属性),成本(第二个属性).玻璃(第二个实体) - 颜色(第一个属性),大小(第二个属性),成本(第三个属性).
对于每个实体,我有一个带有文本字段的MVC,用户为每个实体插入信息,因此如果按下轮胎按钮,则为其他实体插入一种轮胎,成本..等等.
当我拉一个实体时,一切顺利,我在文本字段中插入信息然后按保存,它很好地出现在我的tableview上!但是,正如您已经知道的那样,我希望其余的实体插入到我的tableview和不同的部分中.
我试过"搞乱""cellForRowAtIndexPath",也在我的"fetchedResultsController"方法中使用"if"和"swich",但没有成功.我在这里缺少什么?!?!?!
谢谢,对不起我的英语.
core-data fetch uitableview nsfetchedresultscontroller nsfetchrequest
我有这个问题,我想不出如何编写这个谓词.
我有一个名为Contact的实体,它有一个字符串属性"pages",让我们说
contact.pages = @"1,5,11,15,17";
Run Code Online (Sandbox Code Playgroud)
我的数据库中有很多联系人,我想只获取包含某个ID的这些联系人.所以我想说我只想获取这些联系人,哪些页面包含id @"1".
我能想到这样的事情,
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"self.pages CONTAINS %@", _pageId];
Run Code Online (Sandbox Code Playgroud)
但我的问题是,这也会得到联系,例如有pages = @"11,15".
那么关于如何实现这一点的任何想法?我会感激任何建议,提前谢谢!
我有一个名为“ Item”的实体,其属性为“ colorArray”,类型为“ Transformable”。
colorArray可以是,例如:
[["Red", "Blue", "Green"], ["Red"], ["Blue", "Green"], ["Green"], ["Blue"], ["Blue", "Green", "Red"]]
Run Code Online (Sandbox Code Playgroud)
然后,我使用以下命令将colorArray保存到核心数据中:
newEntry.colorArray = colorArray as NSObject
Run Code Online (Sandbox Code Playgroud)
我想从核心数据中检索colorArray(以与保存时相同的数组格式),执行此操作的最佳方法是什么?
我开发了一个针对iPhone的应用程序,它使用CoreData.当我在模拟器上运行它时,一切正常,但是当我在设备上运行它时,我收到以下错误:
"*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'executeFetchRequest:error: A fetch request must have an entity.'"
我在我的代码中指定并定义了一个实体,如下所示:
NSFetchRequest *select = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"NewsStand" inManagedObjectContext:[CDHelper sharedCDHelper].managedObjectContext];
[select setEntity:entity];
NSError *error;
NSMutableArray *results = [[[CDHelper sharedCDHelper].managedObjectContext executeFetchRequest:select error:&error] mutableCopy];
Run Code Online (Sandbox Code Playgroud)
当我执行fetch以在tableView中显示存储数据库的内容时,会发生错误.
我还定义了一个managedObjectModel:
- (NSManagedObjectModel *)managedObjectModel
{
if (__managedObjectModel != nil)
{
return __managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"newsStandModel" withExtension:@"momd"];
__managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return __managedObjectModel;
}
Run Code Online (Sandbox Code Playgroud) 场景:
我有跟踪iOS应用程序的费用,我将费用从费用明细视图控制器存储到表视图(带有提取结果控制器),显示费用列表以及类别和金额和日期.我的实体"Money"中有一个日期属性,它是费用或收入的父实体.
我的问题:
我想要的是基本上分类给定的一周,一个月或一年的费用/收入,并将其显示为部分标题,例如:(10月1日至10月7日,2012年),它显示费用/收入金额和相关根据特定的一周的东西.在该视图中提供了两个按钮,如果我按下右键,它将使周增加一周(2012年10月1日至10月7日现在显示2012年10月8日 - 10月15日),同样左按钮将减少一周一个星期.我在视图中也有两个段控件.我想要做的是按下"每周"的段控制,如果我按下另一段"类别" - 我将如何根据类别过滤掉每周的费用/收入?
我想在表格视图中显示两个部分(一个显示费用的日期,另一个显示格式的收入日期(2012年10月1日 - 2012年10月7日)).我怎么做到这一点?我写了一些伪代码,如果有人能告诉我如何完成上述操作,那就太好了.
编辑 - FETCH控制器
- (void)userDidSelectStartDate:(NSDate *)startDate andEndDate:(NSDate *)endDate
{
AppDelegate * applicationDelegate = (AppDelegate *) [[UIApplication sharedApplication] delegate];
NSManagedObjectContext * context = [applicationDelegate managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
// Edit the entity name as appropriate.
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Money" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
[NSFetchedResultsController deleteCacheWithName:nil];
//Here you create the predicate that filters the results to only show the ones with the selected date
NSPredicate *predicate = [NSPredicate …Run Code Online (Sandbox Code Playgroud) 问题是我不知道如何NSPredicate在两个实体中查看.有任何想法吗?
Library:
1 lib_id
2 name
3 address
Run Code Online (Sandbox Code Playgroud)
Books
1 book_id
2 book_name
3 book_author
4 lib_id
Run Code Online (Sandbox Code Playgroud)
它们之间没有任何核心数据关系.我想创建一个获取请求,该请求将返回包含至少一本书的所有库的NSArray.
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescriptor *entity = [NSEntityDescriptor entityForName:@"Books" inManagedObjectContext:context];
// some NSPredicate...
array = [context executeFetch ...];
Run Code Online (Sandbox Code Playgroud) 我有两个关系如下的实体:
Contact <--> ContactMeta
Run Code Online (Sandbox Code Playgroud)
在这里,Contact有一个关系为'contactMeta',ContactMeta有一个属性为'operation'.
我在Contact实体上触发了一个fetchRequest.结果类型是NSDictionaryResultType.
所以我得到了一个字典数组,我使用NSJSONSerialization进行序列化并将其作为JSON请求发送到服务器.
现在,我将"contactMeta.operation"添加到propertiesToFetch列表中,因此字典中的一个键是"contactMeta.operation".
问题是 -我需要在JSON请求中发送"operation"作为密钥,代替"contactMeta.operation".
我有一个选项 - 迭代列表中的每个字典,添加一个键 - "操作",其值为键"contactMeta.operation"的值,然后删除"contactMeta.operation"的键值.
但我对这种方法不满意,并且认为在sqlite中我们可以有这样的查询:
Select first_name, last_name, contactmeta as operation from contact;
Run Code Online (Sandbox Code Playgroud)
我们可以在核心数据中做类似的事情,还是有任何智能和更好的方法来实现我想要做的事情?
请建议.
对不起,如果标题不清楚,我会解释:
我有一个音符创建页面,在创建一个音符之后我将使用模型类(nsmanagedobject子类)保存音符.
我有另一个表视图控制器,我正在显示注释,我希望表视图上的注释按创建日期排序,是否有一个键?
这就是我现在拥有的:
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"body" ascending:YES];
Run Code Online (Sandbox Code Playgroud)
这里的关键是注释的文本,所以它按abc排序,你能帮我按日期排序吗?
TNX
在我的应用程序中,我使用的是Core Data.现在我想从数据库中获取数据,为此我使用获取请求.但是我想NSPrediate在单个获取请求中使用两个,所以我该怎么做呢.
这是我的代码:
let feedfetch = NSFetchRequest(entityName: "Feed")
feedfetch.predicate = NSPredicate(format: "userid == %@", userid)
let fetchedPerson = try moc.executeFetchRequest(feedfetch)
Run Code Online (Sandbox Code Playgroud)
但是我想使用两个或更多谓词,那么我该怎么做呢?
我想在一个获取请求中调用所有这些,所以我该怎么做
let feedfetch = NSFetchRequest(entityName: "Feed")
feedfetch.predicate = NSPredicate(format: "userid == %@", userid)
feedfetch.predicate = NSPredicate(format: "is_deleted == %@", "0")
let sortDescriptor = NSSortDescriptor(key: "feed_id", ascending: false,selector: #selector(NSString.localizedStandardCompare))
feedfetch.sortDescriptors = [sortDescriptor]
let fetchedPerson = try moc.executeFetchRequest(feedfetch)
Run Code Online (Sandbox Code Playgroud) nsfetchrequest ×10
core-data ×9
ios ×7
nspredicate ×3
objective-c ×3
arrays ×1
cocoa-touch ×1
fetch ×1
swift ×1
swift4 ×1
uitableview ×1