我有这条线:
watchAgain == nil ? @"null" : (watchAgain ? 1 : 0)
watchAgain
可以是nil
,YES
或NO
。根据值获取
@"null"
,1
或0
的最佳选择是什么?目前,我收到错误:
Incompatible operand types ('NSString *' and 'int')
我是Objective-C的新手,所以我猜想这可能很简单!
编辑(上下文):
我的iOS UI中有一个切换状态,因此是或否。但是,我想向Node.js后端发送“它们没有选择打开或关闭”的第3个状态,因此为什么我要发送“空”字符串...
最佳答案
对于如果您正在设置按钮标题
NSString *titleForButton = watchAgain == nil ? @"null" : (watchAgain ? @"YES" : @"NO");
据我认为您要实现的是根据watchAgain变量设置按钮标题,因此上述titleForButton可能是您要设置的标题。
你在做什么错
watchAgain == nil ? @"null" : (watchAgain ? 1 : 0)
正在为变量分配字符串值或整数值,因此无论分配字符串还是整数,对于编译器,您都应该清楚
关于ios - Objective-C三元运算符,结果为“null”或 bool 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26354415/