NSLog可以崩溃申请吗?

时间:2012-06-15 08:11:47

标签: iphone

我是iPhone SDK的新手。我在控制台中打印每个数组。无论消耗多少数据。我注意到有时我的应用程序崩溃了。它给了我BAD_ACCESS和指针显示在我的NSLog线上。我很困惑可以NSLog崩溃的应用程序? 这是我的代码:

for (int i = 0; i < [UserNeedListArray count]; i++) {
    EndUserNeed* aEndUser = [UserNeedListArray objectAtIndex:i];
    if ([appData.CurrentUser.userId isEqualToString:aEndUser.UserId]) {
        NSMutableArray* temp = [[NSMutableArray alloc]init];
        [temp addObject:aEndUser];
        NSLog(@"%@",temp);
        [arr_ShowMyOnly addObject:[temp objectAtIndex:0]];
        NSLog(@"%@",arr_ShowMyOnly);
        [temp removeAllObjects];
        [temp release];
        temp = nil;
    }
}

请帮帮我。谢谢你...

5 个答案:

答案 0 :(得分:5)

更多NSLog()示例:

NSString *format = @"%s %d";    
NSLog(format, __FUNCTION__);

会在设备上崩溃并且不会在模拟器上崩溃

答案 1 :(得分:0)

正如Ricard所说,你的arr_ShowMyOnly变量存在问题,而不是NSLog。检查您保留的位置并将其释放。检查创建后是否保留了&lt;例如。顺便说一句,您可以添加arr_ShowMyOnly初始化

的代码

答案 2 :(得分:0)

当我假设分配arr_ShowMyOnly时,请执行以下操作:

  for (int i = 0; i < [UserNeedListArray count]; i++) 
  {
    EndUserNeed* aEndUser = [UserNeedListArray objectAtIndex:i];
    if ([appData.CurrentUser.userId isEqualToString:aEndUser.UserId]) 
    {
      [arr_ShowMyOnly addObject:aEndUser];
      NSLog(@"%@",arr_ShowMyOnly);
    }
  }

答案 3 :(得分:0)

试试这个我的帮助你。

for (int i = 0; i < [UserNeedListArray count]; i++) {
        EndUserNeed* aEndUser = [UserNeedListArray objectAtIndex:i];
        if ([appData.CurrentUser.userId isEqualToString:aEndUser.UserId]) {
            NSMutableArray* temp = [[NSMutableArray alloc]init];
            [temp addObject:aEndUser];

            NSLog(@"%@",temp);
            if([temp count] >0)
            {
               [arr_ShowMyOnly addObject:[temp objectAtIndex:0]];
            }
            if([arr_ShowMyOnly count] >0)
            {
               NSLog(@"%@",arr_ShowMyOnly);
            }
            [temp removeAllObjects];
            [temp release];
            temp = nil;
        }
    }

答案 4 :(得分:-1)

是的,它可以。当你执行NSLog(@"%@",temp);时,它期望temp是一种NSString类。

在你的情况下,你应该做NSLog(@"%@",[temp description]);几乎所有的类都有一个描述方法,它会返回一个NSString对象。