首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非活动?@“非活动”:@“活动”语法?

非活动?@“非活动”:@“活动”语法?
EN

Stack Overflow用户
提问于 2012-04-20 02:56:06
回答 5查看 195关注 0票数 0

有人能解释一下inactive ? @"inactive": @"active"

?:是布尔条件结构(错误的术语),但我不太明白。不知道叫什么所以不能查。

看上去像是:

someBooleanValue?如果是假的,请使用冒号之前的内容:否则,在之后使用

据我所知,它被用来确定使用哪个字符串作为格式标记(在下面的代码中)。我只是不知道这是什么?:bit被称为什么,以及它可能存在什么限制/警告/滥用。

( ObjC不像rilly那样难以用文明的方式格式化吗)

代码语言:javascript
复制
    UIAlertView* av = [[UIAlertView alloc] initWithTitle:@"Hey" 
                                             message:[NSString 
                                    stringWithFormat:@"While %@, I received a local notification: %@",
                                                      inactive ? @"inactive": @"active", n.alertBody] 
                                            delegate:nil 
                                   cancelButtonTitle:@"OK" otherButtonTitles:nil];
[av show];
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-04-20 03:20:23

这个?:事物被称为条件运算符三元运算符

它代表了一个简单的条件

代码语言:javascript
复制
if ( CONDITION )
    x = a;
else
    x = b;

可以翻译成

代码语言:javascript
复制
x = CONDITION ? a : b

由此您可能可以派生出您想要完成/理解的功能。请记住,尽管您可能会使用它代替正常的if/else/else结构,但在任何“与赋值相关的操作”之外,三元运算符的使用被认为是错误的。

维基百科的网页中,您可以找到各种不同编程语言中使用的条件运算符的示例。也请检查这一个,三元操作符页面。

Obs:原来三元运算符不一定是条件表达式,而是任何带有三个参数的运算符。因为对于大多数编程语言来说,唯一的三元运算符是内联-if.好吧,这就是通常所说的。

票数 2
EN

Stack Overflow用户

发布于 2012-04-20 02:58:48

它被称为http://en.wikipedia.org/wiki/?%3a,一种三值运算符(相对于更常见的二进制a+b或一元!flag运算符)。

条件运算符接受一个条件,计算它,并根据结果返回它的第二个或第三个操作数。

票数 1
EN

Stack Overflow用户

发布于 2012-04-20 03:00:40

您可以阅读更多信息,这里

当涉及到许多简单的if时,这个操作符的使用可以大大减少代码长度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10239632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档