我有以下代码,它产生了这个错误。我不明白为什么会向一个字符串发送subarrayWithRange消息?当它明显是一个数组时?
我有以下代码,它产生了这个错误。我不明白为什么会向一个字符串发送subarrayWithRange消息?当它明显是一个数组时?
我有以下代码,它产生了这个错误。我不明白为什么会向一个字符串发送subarrayWithRange消息?当它明显是一个数组时?
static const int kItemsPerView = 20;
NSRange rangeForView = NSMakeRange( page * kItemsPerView, kItemsPerView );
NSMutableArray *temp = [[APP_DELEGATE keysArray] mutableCopyWithZone:NULL];
NSArray *itemsForView = [temp subarrayWithRange:rangeForView];
for (int loopCounter = 0;loopCounter < r*c;loopCounter++){
NSLog(@"%i: %@ ", loopCounter, [itemsForView objectAtIndex:loopCounter]);
}
错误:
-[NSCFString subarrayWithRange:]: unrecognized selector sent to instance 0x6b071a0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: [NSCFString subarrayWithRange:]:
谢谢
temp
是一个包含80个字符串的数组,但调试提示只显示了10个条目,不确定是 Xcode 的问题还是其他原因。你说得对,keysArray
是我应用委托中的一个实例变量,是一个属性,并且使用了arrayWithContentsOfFile
方便方法进行综合和分配。我不需要手动保留它吗? - joec[[NSArray alloc] initWithContentsOfFile:@"somepath"]
来代替。 - jlehr