Objective-C三元运算符导致@“null”或布尔值

时间:2014-10-14 06:55:34

标签: ios objective-c

我有这一行:

watchAgain == nil ? @"null" : (watchAgain ? 1 : 0)

watchAgain可以是nilYESNO

根据价值取得@"null"10的最佳选择是什么?

目前我收到错误:Incompatible operand types ('NSString *' and 'int')

我是Objective-C的新手,所以我猜这可能是一个非常简单的修复!

编辑(上下文):

我的iOS UI中有切换状态,所以要么是YES,要么是NO。但是,我想将第三个状态发送到我的Node.js后端“他们没有选择开启或关闭”,因此我为什么要发送一个“空”字符串......

1 个答案:

答案 0 :(得分:-3)

如果您要设置按钮标题

NSString *titleForButton = watchAgain == nil ? @"null" : (watchAgain ? @"YES" : @"NO");

据我认为你想要实现的是根据watchAgain变量设置按钮标题,所以上面的titleForButton可能是你想要设置的标题。

中你做错了什么
watchAgain == nil ? @"null" : (watchAgain ? 1 : 0)

将字符串值或整数值赋给变量,因此您应该清楚编译器是否要分配字符串或整数