objective-c string cocoa-touch nsstring uppercase

objective c - Capitalizar o cambiar el caso de un NSString en Objective-C



cocoa-touch uppercase (2)

Me preguntaba cómo capitalizar una cadena encontrada en un objeto en un NSMutableArray .

Un NSArray contiene la cadena ''April'' en el índice 2.
Quiero que esto se cambie a ''APRIL'' .

¿Hay algo simple como esto?

viewNoteDateMonth.text = [[displayDate objectAtIndex:2] capitalized];


Aqui tienes:

viewNoteDateMonth.text = [[displayDate objectAtIndex:2] uppercaseString];

Por cierto:
"april" está en lowercase[NSString lowercaseString]
"APRIL" es UPPERCASE[NSString uppercaseString]
"April May" está en Capitalized/Word Caps[NSString capitalizedString]
"April may" es Sentence caps(método que falta, ver solución alternativa a continuación)

Por lo tanto, lo que quiere se llama " mayúscula ", no "con mayúscula ". ;)

En cuanto a "Sentence Caps", hay que tener en cuenta que generalmente "Sentence" significa "cadena completa". Si desea oraciones reales use el segundo método, a continuación, de lo contrario, el primero:

@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