我有两个Mutable数组。 “friendsArray”包含整个列表os用户,“inviteIndex”包含其中一些索引(indexPath.row)(使用uiswitch按钮进入表列表)。
我将inviteIndex数组填充为:
[inviteIndex addObject:[NSNumber numberWithInteger:indexPath.row]];
为了只选择我选择的用户:
for (int i =0; i< [inviteIndex count]; i++) {
MyElement *friend =[friendsArray objectAtIndex:[inviteIndex objectAtIndex:i] ];
NSLog(@"BUTTON PRESSED %@", friend.friendId);
}
但应用程序崩溃并显示消息:
[__NSArrayM objectAtIndex:]: index 400931632 beyond bounds [0 .. 4]'
我试过用过
MyElement *friend =[friendsArray objectAtIndex:(NSInteger)[inviteIndex objectAtIndex:i] ];
结果相同。
请帮忙吗? 提前谢谢。
答案 0 :(得分:1)
[inviteIndex objectAtIndex:i]
将返回NSNumber
个对象。您希望<{1}}对象中的NSInteger
值:
NSNumber
答案 1 :(得分:0)
索引超出界限当您尝试访问对象时会出现此错误 来自数组中不存在的索引。
在您的情况下,似乎friendArray
的计数是&lt; (小于)inviteIndex
计数。
我认为问题出在这个逻辑的某个地方,[inviteIndex addObject:[NSNumber numberWithInteger:indexPath.row]];
检查inviteIndex
的计数。