如何在 Phonegap iOS 中传递布尔值
Posted
技术标签:
【中文标题】如何在 Phonegap iOS 中传递布尔值【英文标题】:How to pass boolean in Phonegap iOS 【发布时间】:2014-10-14 10:21:51 【问题描述】:我的 JS 调用看起来像这样
cordova.exec(function () , function () , "ProgressHUD", "show", [ _message, _messageLong, determined ]);
确定是真值还是假值
在我正在做的函数中
BOOL determined = [command argumentAtIndex:2];
if(determined)
// do thing
else
// do other thing
不知道为什么这不起作用。如果我尝试 NSNumber*
或 NSString*
而不是 BOOL,那么我的日志会给我 1 或 0 作为我传入的值。
但我什至因为某种原因做不到
if(determined == 1)
如果我这样做,代码甚至不会运行,或者为此引发语法错误。
有什么想法可以在这里检查 Objective C 中的布尔值吗?
【问题讨论】:
【参考方案1】:答案是检查布尔值
if([determined boolValue] == YES)
【讨论】:
【参考方案2】:这目前对我有用
//JS interface
cordova.exec(function () , function () , "Class", "Method", [true]);
//Objective-C Method
NSNumber boolParam = [urlCommand.arguments objectAtIndex:0];
if([boolParam isEqual: @(YES)])
...do stuff
【讨论】:
不应该是NSNumber*
吗?【参考方案3】:
这也有效
BOOL myBool = [[command.arguments objectAtIndex:1] boolValue];
【讨论】:
以上是关于如何在 Phonegap iOS 中传递布尔值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Tensorflow 中使用 benchmark_model 时将布尔值传递给占位符?