小编Jor*_*ita的帖子

OnApplicationFocus()和OnApplicationPause()之间有什么区别?

说到移动设备,这两种方法有什么区别?如果我按下Home键,两者都会被调用。是否有一种情况被呼叫而不是另一种呼叫?

mobile background unity-game-engine

4
推荐指数
1
解决办法
3112
查看次数

NSPredicate从实体中获取子对象

我有一个带有两个实体的简单数据模型.名为Character的父实体和名为Statiscis的子实体.一个角色可以有多个统计信息,每个统计信息只能有一个父级,因此关系是多对一的.

数据模型

从显示字符详细信息的视图控制器中,我调用新表VC以列出与此字符相关的所有统计信息.在这个控制器上,当我尝试构建fetchedResultsController时,我有一个很好的SIGABRT:"无法为谓词生成SQL(character == currentCharacter)(RHS上的问题)".

当我创建表VC时,我通过prepareForSegue上的两个属性(相同名称)发送managedObjectContext和详细信息VC上显示的字符,因此在表中VC self.currentCharacter承载一个Character管理对象的实例.

#pragma mark - NSFetchedResultsController
- (NSFetchedResultsController *)fetchedResultsController
{
    if (_fetchedResultsController != nil)
    {
        return _fetchedResultsController;
    }

    NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Statistic"];

    // Stupid predicate :(
    fetchRequest.predicate = [NSPredicate predicateWithFormat:@"character == self.currentCharacter"];

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"statName"
                                                                   ascending:YES];
    NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
    [fetchRequest setSortDescriptors:sortDescriptors];

    NSFetchedResultsController *theFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
                                                                                                  managedObjectContext:self.managedObjectContext
                                                                                                    sectionNameKeyPath:nil
                                                                                                             cacheName:nil];
    self.fetchedResultsController = theFetchedResultsController;

    NSError *error = nil;
    // Going to crash
    if (![self.fetchedResultsController performFetch:&error])
    {
        NSLog(@"Core Data error: %@, …
Run Code Online (Sandbox Code Playgroud)

core-data objective-c nspredicate nsfetchedresultscontroller

0
推荐指数
1
解决办法
441
查看次数