반응형
다른 변수와 비교하기 전에 문자열을 변수에 할당해야합니까?
의 값을 NSString
"Wrong"문자열 과 비교하고 싶습니다 . 내 코드는 다음과 같습니다.
NSString *wrongTxt = [[NSString alloc] initWithFormat:@"Wrong"];
if( [statusString isEqualToString:wrongTxt] ){
doSomething;
}
정말로 "Wrong"에 대한 NSString을 생성해야합니까?
또한, 나는의 값을 비교할 수 UILabel
의를 text
문자열로 라벨 값을 할당하지 않고 문자열로?
정말로 "Wrong"에 대한 NSString을 생성해야합니까?
아니요, 그냥하지 않는 이유 :
if([statusString isEqualToString:@"Wrong"]){
//doSomething;
}
를 사용 @""
하면 유효한 NSString
.
또한 레이블 값을 문자열에 할당하지 않고 UILabel.text의 값을 문자열과 비교할 수 있습니까?
예, 다음과 같이 할 수 있습니다.
UILabel *label = ...;
if([someString isEqualToString:label.text]) {
// Do stuff here
}
if ([statusString isEqualToString:@"Wrong"]) {
// do something
}
Brian, 여기에 던질 가치도 있습니다. 다른 사람들은 물론 문자열 변수를 선언 할 필요가 없다는 것이 맞습니다. 그러나 다음에 문자열을 선언하려는 경우 다음을 수행 할 필요가 없습니다.
NSString *myString = [[NSString alloc] initWithFormat:@"SomeText"];
위의 방법은 작동하지만, 사용을 마친 후 명시 적으로 해제해야하는 유지 된 NSString 변수를 제공합니다.
다음에 문자열 변수를 원할 때 훨씬 더 편리한 방법으로 "@"기호를 사용할 수 있습니다.
NSString *myString = @"SomeText";
이 작업을 마치면 자동 해제되므로 메모리 누수도 방지 할 수 있습니다.
도움이 되었기를 바랍니다.
자동 해제 된 인스턴스를 생성하고 문자열 형식과 같은 더 많은 옵션이있는 NSString 클래스 메서드를 사용할 수도 있습니다.
NSString *myString = [NSString stringWithString:@"abc"];
NSString *myString = [NSString stringWithFormat:@"abc %d efg", 42];
반응형
'development' 카테고리의 다른 글
유닉스 차이점 좌우 결과? (0) | 2020.09.15 |
---|---|
콘솔 출력을 파일로 미러링 (0) | 2020.09.15 |
iPad Safari : 링크가 연결되었을 때 빠른 깜박임 효과를 비활성화하는 방법 (0) | 2020.09.15 |
rxjava : retry ()를 사용할 수 있지만 지연이 있습니까? (0) | 2020.09.15 |
Ruby에서 한 줄에 메소드를 어떻게 정의합니까? (0) | 2020.09.15 |