我正在阅读Dropbox API,我找到了这一行:
NSString* title = [[DBSession sharedSession] isLinked] ? @"Unlink Dropbox" : @"Link Dropbox";
我以前从未见过这种语法?它叫什么,它是什么意思?我可以通过观察它来判断它的作用,但有人可以告诉我它吗?
答案 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)