Ось ви йдете:
viewNoteDateMonth.text = [[displayDate objectAtIndex:2] uppercaseString];
Btw:
"april"
є lowercase
➔ [NSString нижній регістрString]
"APRIL"
є UPPERCASE
➔ [NSString верхній регістрString]
"April May"
є Capitalized/Word Caps
➔ [NSString з великої літери]
"April may"
є Sentence caps
➔ (метод відсутній; див. Вирішення нижче)
Отже, те, що ви хочете, називається « великими літерами », а не « великими літерами ». ;)
Що стосується "Каракулів за вироком", то слід пам’ятати, що зазвичай "Речення" означає "весь рядок". Якщо ви хочете отримати справжні речення, використовуйте другий метод нижче, в іншому випадку перший:
@interface NSString ()
- (NSString *)sentenceCapitalizedString; // sentence == entire string
- (NSString *)realSentenceCapitalizedString; // sentence == real sentences
@end
@implementation NSString
- (NSString *)sentenceCapitalizedString {
if (![self length]) {
return [NSString string];
}
NSString *uppercase = [[self substringToIndex:1] uppercaseString];
NSString *lowercase = [[self substringFromIndex:1] lowercaseString];
return [uppercase stringByAppendingString:lowercase];
}
- (NSString *)realSentenceCapitalizedString {
__block NSMutableString *mutableSelf = [NSMutableString stringWithString:self];
[self enumerateSubstringsInRange:NSMakeRange(0, [self length])
options:NSStringEnumerationBySentences
usingBlock:^(NSString *sentence, NSRange sentenceRange, NSRange enclosingRange, BOOL *stop) {
[mutableSelf replaceCharactersInRange:sentenceRange withString:[sentence sentenceCapitalizedString]];
}];
return [NSString stringWithString:mutableSelf]; // or just return mutableSelf.
}
@end