Cra*_*aig 60 boolean objective-c nsstring
如果我有一个返回a的方法,BOOL我该怎么把它转换成一个NSString所以我可以在控制台中打印出来?
例如,我尝试这样做,这是行不通的:
NSLog(@"Is Kind of NSString:", ([thing isKindOfClass:[NSString class]]) ? @"YES" : @"NO");
Run Code Online (Sandbox Code Playgroud)
但我真的想将返回值转换为NSString.我知道它是一种原始数据类型,所以我不能在它上面调用方法.我是否必须单独创建一个字符串,然后在NSString的方法中使用Bool作为参数?
And*_*ant 65
使用三元运算符:
BOOl isKind= [thing isKindOfClass:[NSString class]];
NSLog(@"Is Kind of NSString: %d", isKind);
NSLog(@"Is Kind of NSString: %@", isKind ? @"YES" : @"NO");
Run Code Online (Sandbox Code Playgroud)
小智 63
您需要格式字符串中的格式说明符:
NSLog(@"Is Kind of NSString: %@", ([thing isKindOfClass:[NSString class]]) ? @"YES" : @"NO");
Run Code Online (Sandbox Code Playgroud)
sid*_*ick 33
在后台BOOL的作用类似于int类型,因此您可以使用%i在NSLog中测试BOOL类型的值:
BOOL a = YES;
BOOL b = NO;
NSLog(@"a is %i and b is %i", a, b);
// Output: a is 1 and b is 0
Run Code Online (Sandbox Code Playgroud)
Pat*_*ini 23
所以,我知道这真的很老了,但我想我不妨将我的解决方案扔进戒指.我做:
#define NSStringFromBOOL(aBOOL) ((aBOOL) ? @"YES" : @"NO")
NSLog(@"Is Kind of NSString: %@", NSStringFromBOOL([thing isKindOfClass: [NSString class]]);
Run Code Online (Sandbox Code Playgroud)
我觉得这是更符合一些苹果到字符串宏(线NSStringFromClass,NSStringFromRect,NSStringFromSelector,等),一般很简单的在即时使用.只需确保将该宏放在全球可访问或经常导入的地方!
Hot*_*cks 13
你打印这样的BOOL:
NSLog(@"The BOOL value is %s", theBoolValue ? "YES" : "NO");
Run Code Online (Sandbox Code Playgroud)
或者,使用新的@符号,可以做到:
NSLog(@"The BOOL value is %@", @(theBoolValue));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
90101 次 |
| 最近记录: |