在我定义的头文件中
NSMutableArray *numbers;
在实现中,我首先在init方法
中初始化此数组numbers = [[NSMutableArray alloc] init];
我向这个数组添加字符串
[numbers insertObject:number atIndex:[numbers count]];
但是当我在另一种方法中访问这样的数组时
NSLog(@"%@", [numbers count]);
应用程序崩溃。知道为什么会这样吗?
答案 0 :(得分:1)
您的格式字符串与第二个参数的类型不匹配。
[numbers count]
返回一个整数,而不是一个对象。
“%@”格式说明符表示相应的参数是一个对象,该对象将被发送一个-description消息。将插入从该消息表达式返回的字符串以代替“%@”。您的应用程序崩溃,因为它尝试向无效的接收方发送消息。
答案 1 :(得分:1)
你错了 -
NSLog(@"%@", [numbers count]);
数组计数是一个整数值。使用%d代替%@来打印整数。
NSLog(@"%d", [numbers count]);