부울에 대한 Objective-C 형식화 문자열?
부울 값에 어떤 포맷터가 사용됩니까?
편집하다:
예 : NSLog(@" ??", BOOL_VAL);
무엇 ??
입니까?
그것을하는 한 가지 방법은 문자열로 변환하는 것입니다 (두 가지 가능성이 있기 때문에 어렵지 않습니다).
NSLog(@" %s", BOOL_VAL ? "true" : "false");
부울 값에 대한 형식 지정자가 없다고 생각합니다.
나는 추천 할 것이다
NSLog(@"%@", boolValue ? @"YES" : @"NO");
때문에, 음, BOOL
들이라고 YES
또는 NO
목표 - C이다.
정수 포맷 사용 %d
하거나 인쇄합니다, 0
또는 1
:
NSLog(@"%d", myBool);
Objective-C에서 BOOL
형식은 부호있는 문자입니다. 보낸 사람 <objc/objc.h>
:
typedef signed char BOOL;
#define YES (BOOL)1
#define NO (BOOL)0
당신이 사용하여 인쇄 할 수 %d
포매터를하지만 만 인쇄됩니다 1
하거나 0
,하지 YES
또는 NO
.
또는 다른 답변에서 제안한대로 문자열을 사용할 수 있습니다.
이 인라인 함수를 .h
파일에 추가 하십시오.
static inline NSString* NSStringFromBOOL(BOOL aBool) {
return aBool? @"YES" : @"NO";
}
이제 갈 준비가되었습니다 ...
NSLog(@"%@", NSStringFromBOOL(BOOL_VAL));
NSLog 및 [NSString stringWithFormat]과 함께 사용하기위한 형식 문자열은 다음과 같습니다.
BOOL / bool / boolean은 언급되지 않았습니다 ...
아래 함수를 추가하고 BOOL
값을 전달하면 메소드가NSString
- (NSString *)boolValueToString:(BOOL)theBool {
if (theBool == 0)
return @"NO"; // can change to No, NOOOOO, etc
else
return @"YES"; // can change to YEAH, Yes, YESSSSS etc
}
가장 쉬운 방법은 다음과 같습니다.
NSLog(@" %@", @(BOOL_VAL));
@(표현)
박스형 표현식을 동적으로 평가하고 값 (예 : const char *의 경우 NSString, int의 경우 NSNumber 등)을 기준으로 적절한 객체 리터럴을 반환합니다.
이것으로 NSString 카테고리를 만들었습니다.
+ (instancetype)stringWithBool:(BOOL)boolValue {
return boolValue ? @"YES" : @"NO";
}
그리고 이것을 다음과 같이 사용하십시오 :
[NSString stringWithBool:boolValue];
참고 URL : https://stackoverflow.com/questions/2603802/objective-c-formatting-string-for-boolean
'Programing' 카테고리의 다른 글
한 캔버스의 내용을 다른 캔버스에 로컬로 복사하는 방법 (0) | 2020.07.23 |
---|---|
Vim에서 줄을 감싸는 세로 줄을 표시하는 방법은 무엇입니까? (0) | 2020.07.22 |
FFmpeg가 지원하는 모든 코덱과 형식은 무엇입니까? (0) | 2020.07.22 |
Thymeleaf에서 if-else를 수행하는 방법? (0) | 2020.07.22 |
새 LibGDX 프로젝트를 실행할 때“파일을 찾을 수 없습니다” (0) | 2020.07.22 |