繁体   English   中英

缩短问号冒号吗?:Objective-C语法?

[英]Is the shorten question mark colon ?: a Objective-C syntax?

Xcode没有给出我的(想到的)拼写错误:

 NSString *theme = [[NSUserDefaults standardUserDefaults] objectForKey:@"theme"];
 NSLog(@"Theme: %@", theme ?: @"Default");

事实证明:

 NSLog(@"Theme: %@", theme ?: @"Default");

与以下相同:

 NSLog(@"Theme: %@", theme ? theme : @"Default");

以上缩短语法适用于gcc吗? 或者它是Objective-C的一部分?

它是C中条件表达式的GNU扩展:

这里

C的GNU扩展允许省略第二个操作数,并且隐式地使用第一个操作数作为第二个操作数:

a = x ? : y;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM