有人能解释一下inactive ? @"inactive": @"active"吗
?:是布尔条件结构(错误的术语),但我不太明白。不知道叫什么所以不能查。
看上去像是:
someBooleanValue?如果是假的,请使用在冒号之前的内容:否则,在之后使用
据我所知,它被用来确定使用哪个字符串作为格式标记(在下面的代码中)。我只是不知道这是什么?:bit被称为什么,以及它可能存在什么限制/警告/滥用。
( ObjC不像rilly那样难以用文明的方式格式化吗)
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];发布于 2012-04-20 03:20:23
这个?:事物被称为条件运算符或三元运算符。
它代表了一个简单的条件
if ( CONDITION )
x = a;
else
x = b;可以翻译成
x = CONDITION ? a : b由此您可能可以派生出您想要完成/理解的功能。请记住,尽管您可能会使用它代替正常的if/else/else结构,但在任何“与赋值相关的操作”之外,三元运算符的使用被认为是错误的。
在维基百科的网页中,您可以找到各种不同编程语言中使用的条件运算符的示例。也请检查这一个,三元操作符页面。
Obs:原来三元运算符不一定是条件表达式,而是任何带有三个参数的运算符。因为对于大多数编程语言来说,唯一的三元运算符是内联-if.好吧,这就是通常所说的。
发布于 2012-04-20 02:58:48
它被称为http://en.wikipedia.org/wiki/?%3a,一种三值运算符(相对于更常见的二进制a+b或一元!flag运算符)。
条件运算符接受一个条件,计算它,并根据结果返回它的第二个或第三个操作数。
发布于 2012-04-20 03:00:40
您可以阅读更多信息,这里。
当涉及到许多简单的if时,这个操作符的使用可以大大减少代码长度。
https://stackoverflow.com/questions/10239632
复制相似问题