У меня есть метод с именем getTitle, который находится в категории NSString, и он будет удалять что-либо между строками "(" и ")", а также будет удалять эти строки.Однако, когда входная строка не содержит ни одной из приведенных выше строк, метод завершится с ошибкой:
* Завершение работы приложения из-за необработанного исключения «NSRangeException», причина: «*- [NSArray objectAtIndex:]: индекс 1 за пределами [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;
}