Как сделать первую букву 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.