由于未捕获的异常'NSRangeException'终止应用程序,原因:'*** - [NSMutableArray objectAtIndex:]:索引26超出边界[0 .. 0]'

时间:2011-03-25 19:38:08

标签: iphone ios4 xcode4

我很感激一些帮助。我以前用过这个,工作得很好。我试图在一个新的应用程序中使用它,它打破了。我理解这是索引的一个问题,但我不能指出它。

    self.greensArray = [NSMutableArray array];
    for (int i = 0; i < 26; ++i) {
    [self.greensArray addObject:[NSMutableArray array]];
    }


letterIndex =[[NSMutableArray alloc] init];

NSMutableArray *name = [searchViewArray valueForKey:@"meatName"];
for (int i = 0; i < [name count]; ++i) {
    NSUInteger firstLetter = [ALPHA rangeOfString:[[name objectAtIndex:i ] substringToIndex:1]].location;
    [self.greensArray insertObject:[NSMutableArray array] atIndex:i];
    if (firstLetter != NSNotFound) {
        [[self.greensArray objectAtIndex:firstLetter] addObject:[name objectAtIndex:i]];
    }
    char alphabet = [[name objectAtIndex:i] characterAtIndex:0];
    NSString *uniChar = [NSString stringWithFormat:@"%C",alphabet];
    if(![letterIndex containsObject:uniChar])
    {
        [letterIndex addObject:uniChar];

    }
}

1 个答案:

答案 0 :(得分:0)

问题在于:[self.greensArray insertObject:[NSMutableArray array] atIndex:i]; 我不知道为什么这在我的第一个应用程序中有效,但是这行代码为greensArray添加了额外的值。抛出整数/ meatName计数并使整个应用程序崩溃。

相关问题