这是什么意思:NSString * string = NO? @" AAA" :@" bbb&#34 ;;

时间:2011-11-27 23:51:38

标签: iphone objective-c ios cocoa

我正在阅读Dropbox API,我找到了这一行:

NSString* title = [[DBSession sharedSession] isLinked] ? @"Unlink Dropbox" : @"Link Dropbox";

我以前从未见过这种语法?它叫什么,它是什么意思?我可以通过观察它来判断它的作用,但有人可以告诉我它吗?

3 个答案:

答案 0 :(得分:12)

这就是所谓的ternary operator

C中的三元运算符具有以下模式condition ? true-expression : false-expression

如果condition评估为YES,则会true-expression进行评估,否则为false-expression

在您的特定情况下,如果title返回@"Unlink Dropbox",则[[DBSession sharedSession] isLinked]会被分配到YES,否则会@"Link Dropbox"

答案 1 :(得分:2)

您也可以使用它来打印BOOL的值,如:

NSLog(@"%@", boolVal ? @"YES" : @"NO");

答案 2 :(得分:0)

那是Ternary Operator