未初始化的常量NSJSONSerialization

时间:2013-01-31 20:28:52

标签: macruby rubymotion nsjsonserialization

如何在macruby中识别NSJSONSerialization?

framework 'foundation'

puts NSXMLDocument
#=> NSXMLDocument

puts NSJSONSerialization
#=> /Users/home/Desktop/Dropbox/script.rb:3:in `<main>': 
    uninitialized constant NSJSONSerialization (NameError)

$ macruby -v
MacRuby 0.12 (ruby 1.9.2) [universal-darwin10.0, x86_64]

2 个答案:

答案 0 :(得分:1)

实际上,我觉得自己像个笨蛋,但是因为我在Snow Leopard上跑步而失败了。直到10.7才支持NSJSONSerialization。

我会把这个问题留给那些发茬同样的人。

答案 1 :(得分:0)

irb(main):001:0> framework 'foundation'
=> true
irb(main):002:0> puts NSJSONSerialization
NSJSONSerialization
=> nil

irb(main):014:0> NSJSONSerialization.dataWithJSONObject(['dog', 'cat', 'rabbit'], options:0, error:nil).to_str
=> "[\"dog\",\"cat\",\"rabbit\"]"

$ macruby -v
MacRuby 0.13 (ruby 1.9.2) [universal-darwin10.0, x86_64]

也许它已在以后的版本中修复。这实际上并不是特定于RubyMotion,但NSJSONSerialization是一个广泛的兴趣,值得保持标记为这样的问题。