【发布时间】:2014-11-11 08:31:07
【问题描述】:
这将显示以下错误:“JSValue”不可转换为“NSNumber”。如果无法转换,我应该如何获取 JSValue 并将其分配给我的 NSNumber 变量?
var sentences:NSNumber = getSentences.callWithArguments([])
【问题讨论】:
标签: ios swift javascriptcore
这将显示以下错误:“JSValue”不可转换为“NSNumber”。如果无法转换,我应该如何获取 JSValue 并将其分配给我的 NSNumber 变量?
var sentences:NSNumber = getSentences.callWithArguments([])
【问题讨论】:
标签: ios swift javascriptcore
根据header file JSValue.h,您需要在您的JSValue 对象上调用toNumber()。所以它可能是:
var sentences:NSNumber = getSentences.callWithArguments([]).toNumber()
【讨论】:
你可以试试:
if let sentences = getSentences.callWithArguments([]) as? NSNumber {
// consume sentences here
}
if let 结构可能是对它的最简单访问,因为它实际上可能不是数字,如果这不起作用,您将不得不返回 JavaScriptCore 并调用 JSValueToNumber:
let sentences = getSentences.callWithArguments([])
let nSentences = JSValueToNumber(context, sentences, nil)
【讨论】: