如何在 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 中传递布尔值的主要内容,如果未能解决你的问题,请参考以下文章

如何在意图之间传递布尔值

如何在 URL 中传递 false 的布尔变量

如何在 Tensorflow 中使用 benchmark_model 时将布尔值传递给占位符?

单击表单复选框并传递复选框布尔值时如何在Django中刷新view.py?

调用存储过程、传递 NULL 值、处理布尔值

iOS如何从解析Swift 4中获取值“布尔”