Objective-C语法问题

时间:2010-07-29 11:12:25

标签: objective-c

我正在尝试一些非常简单的方法,但程序终止于NSLog中的“EXC_BAD_ACCESS”。我试图用这样的几个字典填充一个可变数组:

NSMutableArray *_recipientsMutArray = [[NSMutableArray alloc] init];

NSDictionary *r1 = [[NSDictionary alloc] initWithObjectsAndKeys: @"firsValue", @"firstKey", @"secondValue", @"secondKey", nil];

[_recipientsMutArray addObject:r1];

[r1 release];

为什么?

1 个答案:

答案 0 :(得分:2)

您提供的代码很好,不应该导致EXC_BAD_ACCESS,但是您提到了NSLog的崩溃。使用NSLog的常见错误是为格式字符串提供C样式字符串,而不是NSString。以下内容将导致错误:

int i = 4;
NSLog("%d", i); // oh no!

相反,您需要确保NSLog的第一个参数是NSString,如下所示:

int i = 4;
NSLog(@"%d", i); // yay!