[OC] 9, 문자열 객체(NSString)

2665 단어
상수 문자열 객체를 만들려면 문자열 시작 부분에 @ 기호를 배치해야 합니다. 예를 들어,
@"Hello OC~~"

NSLog


로그 출력에 사용
 NSString *str = @"Hello OC~~~";
 NSLog(@"%@",str);

위의 코드는 먼저 문자열 대상str를 만들고 nslog로 값을 표시합니다
nslog 형식 문자%@ NSString 객체뿐만 아니라 다른 객체도 표시할 수 있습니다.

description


디버깅을 편리하게 하기 위해서 우리는 자신의 클래스에서 description 방법을 다시 쓸 수 있다. 예를 들어
#import <Foundation/Foundation.h>


@interface Fraction : NSObject

-(void)add;

@end

@implementation Fraction

-(void)add{
    NSLog(@"--->add");
}

-(NSString *)description{
    return [NSString stringWithFormat:@"---->"];
}

@end

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        Fraction* mFraction = [[Fraction alloc] init];
        NSLog(@"%@",mFraction);
    }
           
    return 0;
}

입력한 결과 ---->

불변 객체(NSString)


문자열 객체를 만들면 변경 불가능한 객체가 만들어집니다. 이 객체를 불변 객체라고 합니다.
NSString 클래스를 사용하여 불변 문자열 처리 가능
자주 문자열을 처리하거나 문자열의 문자를 변경해야 할 경우 NSMutableString 클래스를 사용할 수 있습니다

문자열 길이 계산하기


    [str length];

문자열을 다른 문자열로 복사


    [NSString stringWithString: str1];

문자열을 다른 문자열의 끝으로 복사하기


    [str stringByAppendingString:@""];

문자열이 같은지 아닌지 판단하기


    [str1 isEqualToString : str2]

문자열을 대문자로 바꾸기


    [str uppercaseString];

문자열을 소문자로 바꾸기


    [str lowercaseString];

문자열이 다른 문자열보다 크거나 작은지 확인하기 (대소문자 구분)


 switch ([str1 compare:str2]) {
            case NSOrderedDescending:
               //str1 > str2
                break;
            case NSOrderedSame:
               //str1 = str2
                break;
            case NSOrderedAscending:
               //str1 < str2;
                break;
            default:
                break;
}

문자열이 다른 문자열보다 크거나 작은지 확인하기 (대소문자 구분 없음)


대소문자 구분 없음caseInsensitive Compare 사용 가능
    [str caseInsensitiveCompare:@""];

문자열에서 처음 n 자 추출


    [str substringToIndex:n];

문자열에서 인덱스 n에서 끝까지의 하위 문자열 추출


    [str substringFromIndex:n];

문자열에서 인덱스 n에서 인덱스 m까지의 하위 문자열 추출하기 (m-n 문자)


    [[str substringFromIndex:n] substringToIndex: (m-n)];
    [str substringWithRange:NSMakeRange(n, (m-n))];

문자열에서 문자열 찾기


        NSString *str = @"abcdefghijklmnopq";
        NSRange range = [str rangeOfString:@"cde"];
NSLog(@"위치:%lu 길이:%lu", range.location, range.length),

좋은 웹페이지 즐겨찾기