在 iOS 开发中,? : 是一个非常常见的三元条件运算符(Ternary Conditional Operator)。它是为简化简单条件判断而设计的运算符,可以让代码更加简洁和直接。
三元条件运算符的基本语法如下:
condition ? expressionIfTrue : expressionIfFalse
- condition:这是一个返回布尔值的表达式。如果该表达式为 true,则执行 expressionIfTrue。
- expressionIfTrue:这是 condition 为 true 时执行的表达式结果。
- expressionIfFalse:这是 condition 为 false 时执行的表达式结果。
示例:
NSString *username = inputUsername ?: @"DefaultUser";
BOOL isLoggedIn = YES;
NSString *welcomeMessage = isLoggedIn ? @"Welcome back!" : @"Please log in.";
在第一个示例中,如果 inputUsername 为 nil 或者是一个空字符串,username 将被设置为 "DefaultUser"。
在第二个示例中,welcomeMessage 取决于 isLoggedIn 的值。如果 isLoggedIn 为 YES,消息将是 "Welcome back!",否则是 "Please log in."。