这是什么意思:NSString*string = NO?@"aaa":@"bbb";

Jos*_*ick 0 iphone cocoa objective-c ios

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

NSString* title = [[DBSession sharedSession] isLinked] ? @"Unlink Dropbox" : @"Link Dropbox";
Run Code Online (Sandbox Code Playgroud)

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

Reg*_*ent 12

那是一个所谓的三元运算符

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

如果condition求值为YES,则true-expression得到评估,否则false-expression.

在您的特定情况下,title将被分配给@"Unlink Dropbox"if [[DBSession sharedSession] isLinked]返回YES,否则@"Link Dropbox".

  • 绝对正确.我不是在谈论`lastObject`,而是关于`firstObject`.只有count'0-1`的数组`firstObject`和`lastObject`是等价的.其他一切:解决方法.糟透了,但那是现实. (2认同)