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