我有一个叫做getTitle的方法,它在NSString类中,它将删除字符串“(”和“)”之间的任何东西,它也会删除这些字符串。然而,当输入字符串不包含以上任一字符串,该方法将与该错误崩溃:字符串操纵方法的帮助
由于未捕获的异常“NSRangeException”,原因*终止应用程序:“* - [NSArray的objectAtIndex:] :index 1 beyond bounds [0..0]'
这是由NSArray'a'没有对象引起的。
但是,我似乎无法解决它。请你可以看看下面的代码并指出问题所在?
- (NSString *)getTitle {
NSArray *a = [self componentsSeparatedByString:@"("];
if ([a count] > 0) {
if ([a objectAtIndex:1] != [NSNull null]) {
NSString *b = [a objectAtIndex:1];
NSArray *c = [b componentsSeparatedByString:@")"];
if ([c count] == 0)
return self;
if ([a objectAtIndex:0] != nil && [c objectAtIndex:1] !=nil)
return [[[a objectAtIndex:0] stringByAppendingString:[c objectAtIndex:1]] stringByReplacingOccurrencesOfString:@" -" withString:@" -"];
else
return self;
}
else
return self;
}
else {
return self;
}
return self;
}
FYI:编译理解的变量名长度超过一个字符 – 2011-04-16 16:25:48