Как сделать первую букву NSString Capital в iPhone dev
У меня есть NSString, который я обрезаю в начале и в конце для пробелов. Теперь я хочу, чтобы первый алфавит или буква строки отображался как капитал.
Есть ли короткий доступ, или мне нужно взять первый алфавит и преобразовать его в капитал самостоятельно.
Тпх.
Ответы
Ответ 1
Вы должны сделать это вручную. Это одна из тех вещей, которая так часто была встроена в категории так много людей, что Apple, вероятно, не смеет добавлять ее в качестве реального метода, поскольку она создавала бы столкновения категорий.
NSString *firstCapChar = [[string substringToIndex:1] capitalizedString];
NSString *cappedString = [string stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:firstCapChar];
Конечно, есть много других решений, использующих NSMutableString или любой другой способ, которым вы хотите это сделать, используя unichar или что-то еще.
Ответ 2
- (NSString *)capitalizedString
сделает все слова в первоначальной заглавной строке. Если у вас есть только одно или два слова в вашей строке, это может быть то, что вы хотите.
Вот ссылка класса NSString.
Ответ 3
@BrianRamsay ответ хорош, но он делает все слова заглавными вместо первого. Я создал удобную категорию для ответа @RobNapier:
@interface NSString (Initcap)
@property (readonly) NSString *initcappedString;
@end
@implementation NSString (Initcap)
- (NSString *)initcappedString {
NSString *firstCapChar = [[self substringToIndex:1] capitalizedString];
return [self stringByReplacingCharactersInRange:NSMakeRange(0,1)
withString:firstCapChar];
}
@end
Затем используйте его как str.initcappedString
.