1

如何让 NSJSONSerialization 在 macruby 中被识别?

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]
4

2 回答 2

1

实际上,我觉得自己像个傻瓜,这失败了,因为我在 Snow Leopard 上运行。直到 10.7 才支持 NSJSONSerialization。

我会把这个问题留给其他遇到同样事情的人。

于 2013-02-01T01:51:44.030 回答
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它具有足够广泛的兴趣,值得将问题标记为这样。

于 2013-02-01T01:01:01.270 回答