Objective c 不活跃@&引用;“不活动的”:@&引用;主动的;语法?

Objective c 不活跃@&引用;“不活动的”:@&引用;主动的;语法?,objective-c,ios,Objective C,Ios,有人能解释一下不活动吗@“非活动”:@“活动” 那个是一个布尔条件结构(错误的术语),但我不太明白。不知道它叫什么,所以无法查找 似乎有点像: 一些布尔值?如果为false,则使用前面的冒号:否则使用 在 我知道它被用来确定哪个字符串用作格式标记(在下面的代码中)。我只是不知道这是什么bit被调用,以及它可能存在的限制/警告/滥用 (ObjC像一样,很难以文明的方式格式化吗) 它被称为,一种三元运算符(与更常见的二进制a+b或一元!flag运算符相反) 条件运算符接受一个条件,对其求值,并根据结

有人能解释一下
不活动吗@“非活动”:@“活动”

那个是一个布尔条件结构(错误的术语),但我不太明白。不知道它叫什么,所以无法查找

似乎有点像:

一些布尔值?如果为false,则使用前面的冒号:否则使用 在

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

(ObjC像
一样,很难以文明的方式格式化吗)

它被称为,一种三元运算符(与更常见的二进制
a+b
或一元
!flag
运算符相反)

条件运算符接受一个条件,对其求值,并根据结果返回其第二个或第三个操作数。

它被称为三元运算符(与更常见的二进制
a+b
或一元
!标志
运算符相反)


条件运算符接受一个条件,对其求值,并根据结果返回其第二个或第三个操作数。

这是一个三值运算符,但它是向后的——如果布尔值为真,则在冒号之前执行操作,否则,在冒号之后执行操作。

这是一个三值运算符,如果布尔值为真,则在冒号之前进行操作,否则在冒号之后进行操作。

您可以阅读更多信息


当涉及大量简单的
时,使用此运算符可以大大缩短代码长度。

您可以阅读更多信息

当涉及大量简单的
(如果
s)时,使用此运算符可以大大缩短代码长度。

这称为三元运算符,其工作方式与您描述的完全相同:

表达式值如果为真值如果为假

例如,您可以将其用于类似这样的情况,以避免if-else:

int maxValue = a > b ? a : b;
编辑:@dasblinkenlight是正确的,您所说的运算符实际上称为条件运算符,这是一种三元运算符。

这称为三元运算符,它的工作方式与您描述的完全相同:

表达式值如果为真值如果为假

例如,您可以将其用于类似这样的情况,以避免if-else:

int maxValue = a > b ? a : b;

编辑:@dasblinkenlight是正确的,您所说的运算符实际上被称为条件运算符,这是一种三元运算符。

这个?:东西被称为条件运算符或三元运算符

它代表了一个简单的条件

if ( CONDITION )
    x = a;
else
    x = b;
这可以翻译成

x = CONDITION ? a : b
从这一点上,您可能可以派生出您试图实现/理解的功能。请记住,尽管您可能会将其用作正常if/else if/else结构的替代品,但将三元运算符的使用编程为任何“与赋值相关的操作”都是错误的

在中,您可以找到各种不同编程语言中使用的条件运算符的示例。也请检查三元运算符页面


Obs:事实证明,三元运算符不一定是条件表达式,而是任何具有三个参数的运算符。因为对于大多数编程语言来说,唯一的三元运算符是内联if。。。嗯,这就是它通常所说的。

这个?:它被称为一个条件运算符或一个三元运算符

它代表了一个简单的条件

if ( CONDITION )
    x = a;
else
    x = b;
这可以翻译成

x = CONDITION ? a : b
从这一点上,您可能可以派生出您试图实现/理解的功能。请记住,尽管您可能会将其用作正常if/else if/else结构的替代品,但将三元运算符的使用编程为任何“与赋值相关的操作”都是错误的

在中,您可以找到各种不同编程语言中使用的条件运算符的示例。也请检查三元运算符页面


Obs:事实证明,三元运算符不一定是条件表达式,而是任何具有三个参数的运算符。因为对于大多数编程语言来说,唯一的三元运算符是内联if。。。嗯,这就是它通常的名称。

谢谢!它在我习惯的脚本语言中不存在,所以当我得到要点时,我不确定。如果
foo
为真,
foo
将是三元表达式的结果,否则将是
bar
的结果。这仅由允许形式的三元运算符的某些语言支持?:。谢谢!它在我习惯的脚本语言中不存在,所以当我得到要点时,我不确定。如果
foo
为真,
foo
将是三元表达式的结果,否则将是
bar
的结果。只有一些语言支持这种形式的三元运算符?:。