首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >程序信号接收到"SIGTERM“

程序信号接收到"SIGTERM“
EN

Stack Overflow用户
提问于 2012-08-17 18:53:32
回答 1查看 141关注 0票数 0

我在我的iOS应用程序中使用CoreData。当我杀死我的应用程序并再次启动它时,我就有了一个计算所有表中记录总数的方法。但是它没有执行,我收到的信号是program signal received "SIGTERM"

代码语言:javascript
复制
-(int)getAllCount{
         NSLog(@"start");

         int returnCount=0;

         NSMutableArray *tempArr=[[NSMutableArray alloc]initWithObjects:@"TempFirstAid",@"TempArticles",@"TempSymptom",@"TempIndexMaster",@"TempIndexSubMaster",@"TempIndexDetails", nil];

    for (int i=0; i<[tempArr count]; i++) {

         NSEntityDescription *entityDesc = [NSEntityDescription entityForName:[tempArr 
         objectAtIndex:i] inManagedObjectContext:[appDelegate managedObjectContext]];

         NSFetchRequest *request2 = [[NSFetchRequest alloc] init];

        [request2 setEntity:entityDesc];

        NSError *error;

        NSArray *objects = [[appDelegate managedObjectContext] executeFetchRequest:request2 
        error:&error];

        returnCount=returnCount+[objects count];
    }

我在View Did Load中调用此方法

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-17 22:23:18

您应该使用:

代码语言:javascript
复制
- (NSUInteger)countForFetchRequest:(NSFetchRequest *)request error:(NSError **)error

而不是仅仅为了获得计数而获取所有对象。我猜你遗漏了代码的一部分,因为返回值丢失了。另一件事:看起来你是从主线程调用的。这可能会导致你的应用程序冻结,并在一段时间内(在大型数据库上)没有响应。

根据您对问题的描述,似乎这个方法甚至不是问题所在,因为它实际上并没有执行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12004407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档