我有一個叫做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