gpt4 book ai didi

ios - 核心数据(魔术记录)在提取时暂停主线程

转载 作者:行者123 更新时间:2023-12-01 16:42:48 25 4
gpt4 key购买 nike

我有一个看起来像这样的方法:

+ (Cat *)fetchCatWithId:(NSString *)catId {
NSManagedObjectContext* context = [NSManagedObjectContext MR_contextForCurrentThread];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"id ==[c] %@", catId];
Cat* cat = [Cat MR_findFirstWithPredicate:predicate inContext:context];
return cat;
}

Xcode Time Profiler表现出了很大的成功
Cat* cat = [Cat MR_findFirstWithPredicate:predicate inContext:context];

确实,发生这种情况时,我的应用程序中的UI会短暂冻结。因此,显然我需要在后台线程上执行此操作。所以我有三个问题:
  • 有没有一种方法可以更快地执行获取?
  • 如果没有,我如何在后台线程上获取?
  • 此方法返回Cat对象。显然,应用程序的其他部分正在请求Cat。那么,我现在是否需要在此方法中添加完成处理程序,并重构所有内容以仅在完成获取操作时执行操作?这似乎不正确。
  • 最佳答案

    试试这个:

    + (Cat *)fetchCatWithId:(NSString *)catId {
    Cat *cat = [Cat MR_findFirstByAttribute: @"id" withValue: catID];
    return cat;
    }

    关于ios - 核心数据(魔术记录)在提取时暂停主线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22776051/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com