NSMutableArray
ผมสงสัยว่าจะใช้ประโยชน์สตริงที่พบในวัตถุใน
NSArray
มีสตริง'April'
ที่ดัชนี 2. ผมอยากให้เรื่องนี้จะมีการเปลี่ยนแปลงไป
'APRIL'
มีอะไรแบบนี้ง่ายไหม?
viewNoteDateMonth.text = [[displayDate objectAtIndex:2] capitalized];
NSMutableArray
ผมสงสัยว่าจะใช้ประโยชน์สตริงที่พบในวัตถุใน
NSArray
มีสตริง'April'
ที่ดัชนี 2. ผมอยากให้เรื่องนี้จะมีการเปลี่ยนแปลงไป
'APRIL'
มีอะไรแบบนี้ง่ายไหม?
viewNoteDateMonth.text = [[displayDate objectAtIndex:2] capitalized];
คำตอบ:
ไปเลย:
viewNoteDateMonth.text = [[displayDate objectAtIndex:2] uppercaseString];
Btw:
"april"
is lowercase
➔ [NSString lowercaseString]
"APRIL"
คือUPPERCASE
➔ [NSString uppercaseString]
"April May"
คือCapitalized/Word Caps
➔ [NSString capitalizedString]
"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
viewNoteDateMonth.text = [[displayDate objectAtIndex:2] uppercaseString];
คุณยังสามารถใช้ตัวพิมพ์เล็กสตริงและตัวพิมพ์ใหญ่ได้
ในกรณีที่ทุกคนต้องการข้างต้นอย่างรวดเร็ว:
SWIFT 3.0 และสูงกว่า:
สิ่งนี้จะทำให้สตริงของคุณเป็นตัวอักษรตัวใหญ่ตัวแรก:
viewNoteDateMonth.text = yourString.capitalized
นี่จะเป็นตัวพิมพ์ใหญ่สตริงของคุณทำทุกกรณีบนสตริง:
viewNoteDateMonth.text = yourString.uppercased()