From: Will T. <wi...@th...> - 2005-08-14 16:56:12
|
This is a simple case that keeps causing me problems. A ruby object passed to Cocoa and back doesn't come back as a ruby object. But worse its accessors don't return ruby objects either. Why does this code not work? IIs there something I should be doing?? class Test attr_reader :num def initialize @num = 3; end end arr = OSX::NSArray.arrayWithObject(Test.new) puts arr.objectAtIndex(0) # <RBObject: 0x4e51f0> puts arr.objectAtIndex(0).class # OSX::OCObject puts arr.objectAtIndex(0).num.class # OSX::NSDecimalNumber puts "<10" if arr.objectAtIndex(0).num < 10 #crash The crash is: /Library/Frameworks/RubyCocoa.framework/Versions/A/Resources/ruby/osx/ objc/oc_wrapper.rb:17:in `ocm_send': NSDecimalNumber#<: - methodSignature is nil. (OSX::OCMessageSendException) from /Library/Frameworks/RubyCocoa.framework/Versions/A/ Resources/ruby/osx/objc/oc_wrapper.rb:17:in `method_missing' from /Users/william/Desktop/Scripting/simpleapp/build/ SimpleApp.app/Contents/Resources/rb_main.rb:21 cheers --Will |