我很感激一些帮助。我以前用过这个,工作得很好。我试图在一个新的应用程序中使用它,它打破了。我理解这是索引的一个问题,但我不能指出它。
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];
}
}
答案 0 :(得分:0)
问题在于:[self.greensArray insertObject:[NSMutableArray array] atIndex:i]; 我不知道为什么这在我的第一个应用程序中有效,但是这行代码为greensArray添加了额外的值。抛出整数/ meatName计数并使整个应用程序崩溃。