5lb*_*ass 2 iphone objective-c
原谅我的"新手"问题,但问题是什么,"?" 在fololowing代码行中意味着什么?
self.navigationItem.leftBarButtonItem.title = (editing) ?
NSLocalizedString(@"Done", @"Done") : NSLocalizedString(@"Edit", @"Edit");
Run Code Online (Sandbox Code Playgroud)
Rud*_*ser 12
这是一个三元语句,?是条件运算符.该声明基本上是这样说的:
if (editing) {
self.navigationItem.leftBarButtonItem.title = NSLocalizedString(@"Done", @"Done");
} else {
self.navigationItem.leftBarButtonItem.title = NSLocalizedString(@"Edit", @"Edit");
}
Run Code Online (Sandbox Code Playgroud)
你可以这样想:
? - 如果之前的陈述为真,请立即执行代码.
: - 否则/否则,在此之后立即运行代码.
您可以在http://en.wikipedia.org/wiki/Ternary_operation阅读更多内容.您会发现此构造可用于除C/Objective-C之外的许多语言.
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |