【发布时间】:2014-10-14 06:55:34
【问题描述】:
我有这行:
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 后端发送“他们没有选择打开或关闭”的第三个状态,因此我想发送一个“空”字符串...
【问题讨论】:
-
忘记你已经编写的代码。你想做什么?您要执行的操作是什么?另外,warchAgain 是什么类型的?如果它是布尔值,那么它只能是 YES 或 NO。 Nil 无效。
-
我的 iOS UI 中有一个切换状态,所以是
YES或NO。但是,我想向我的 Node.js 后端发送“他们没有选择打开或关闭”的第三个状态,因此我想发送一个“空”字符串...... -
返回 @"null" (这是一个(非常奇怪的)NSString 或某种文字整数值 1 或 0 是没有意义的。
-
你能不能只记录“watchAgain”的值,这样我们就可以知道它是什么类型的对象了? watchAgain 肯定不是对象类型,将 * 从中删除,它应该可以工作。
-
这种事情最好有一个枚举。从表面上看,我会说你在 Javascript 领域花费了太多时间。在像这样的低级语言(使用指针的强类型)中,您需要区分指针和原语。
标签: ios objective-c