是否可以将JSValue转换为NSNumber?

时间:2014-11-11 08:31:08

标签: ios swift javascriptcore

这将显示以下错误:' JSValue'不能兑换为“NSNumber”。如果无法转换,我应该如何获取JSValue并将其分配给我的NSNumber变量?

    var sentences:NSNumber = getSentences.callWithArguments([])

2 个答案:

答案 0 :(得分:0)

根据header file JSValue.h,您需要在toNumber()对象上调用JSValue。所以它可能是:

var sentences:NSNumber = getSentences.callWithArguments([]).toNumber()

答案 1 :(得分:0)

您可以尝试:

if let sentences = getSentences.callWithArguments([]) as? NSNumber {
    // consume sentences here
}

if let结构可能是对它的最简单访问,因为它实际上可能不是一个数字,如果它不起作用,你将不得不回到JavaScriptCore并致电JSValueToNumber

let sentences = getSentences.callWithArguments([])
let nSentences = JSValueToNumber(context, sentences, nil)