【发布时间】:2016-12-19 11:00:45
【问题描述】:
我创造了
NSArray *test = @[@[@1,@2,@3,@4], @[@3,@5,@6,@7]];
将被视为nsarray 的nsarray。
但是当我想用
打印出来时NSLog (@"%@", test); or NSLog(@"%@", test[0]);
NSLog (@"%@", [test ObjectAtIndex: 0]);
过程总是以
结束NSException; Signal SIGABRT
Reason: 'NSInvalidArgumentException', '-[__NSArrayI compare:]:unrecognized selector sent to instance 0x608000262788'
请帮助我,有人可以告诉我如何处理这个问题吗?以及一般如何调试问题'Signal SIGABRT'?
【问题讨论】:
-
你可以使用
[[[test objectAtIndex: 0] objectAtIndex: 0] objectAtIndex:0],因为你的数组里面包含更多数组 -
您可能希望使用代码格式编辑您的消息。
-
你犯了一个根本性的错误。 '@' 是在字符串之前使用的符号。 1、2、3、4等整数不是字符串。
-
@ElTomato,你是什么意思? @1 将是一个 NSNumber。在这种情况下使用
NSLog(@"%@")非常好。 -
@ElTomato 你绝对错了。如果您想在数组中添加 int,则将 @ 放在 Int 前面或使用
[NSNumber numberWithInt:4]
标签: ios objective-c iphone multidimensional-array nsarray