kimura wataru
kimur****@i*****
Mon Oct 31 21:57:09 JST 2005
木村です。 >藤本です。 > >OS 10.4.2 + ruby 1.8.3 + xcode 2.0 + gcc-3.3 >の環境でテストしてみたことに関して結果をアップします。一部サンプルが動きませんでした。とりあえず報告しておきます。 > ありがとうございます。問題のでた部分を OSX 10.3.9 + ruby 1.8.3 + xcode 1.5/gcc 3.3で試してみました。 >=== osx-10.4.2 + ruby-1.8.3 > >動いたけど、警告がでたもの: > $ cd RubyRaiseMan && rm -rf build > $ xcodebuild clean build > $ open build/RubyRaiseMan.app => OK > 2005-10-31 20:05:42.263 RubyRaiseMan[4075] *** -[NSCFString isKindOf:]: \ > warning: Object compatibility method has been executed at least once. \ > Convert source code off it NOW! > これはisKindOf:メソッドはCocoaでなく、Objective-Cのルートクラスである Objectのメソッドであるためにでる警告のようです。isKindOfClass:メソッドに 置き換えればよいようです。 http://www.cocoabuilder.com/archive/message/cocoa/2004/12/9/123400 以下の修正で、正常動作&警告がでないことを確認し、コミットしました。 --- MyDocument.rb 18 Dec 2002 00:15:14 -0000 1.2 +++ MyDocument.rb 31 Oct 2005 12:26:35 -0000 @@ -68,7 +68,7 @@ def tableView_setObjectValue_forTableColumn_row (tblView, obj, col, row) identifier = col.identifier person = @employees[row] - if obj.isKindOf?(NSDecimalNumber) then + if obj.isKindOfClass?(NSDecimalNumber) then obj = obj.to_f else obj = obj.to_s >動いたけど、NSView の警告が出たもの: これは仕方ないですね。 >動かなかった: > $ cd Pong && rm -rf build > $ xcodebuild clean build > $ open build/Pong.app > 2005-10-31 20:10:23.067 Pong[4224] PlayingView(0x4f6520) - \ > NSView not correctly initialized. Did you forget to call super? \ > ...Resources/Model.rb:168:in `NSApplicationMain': NSApplicationMain - \ > RBException_NoMethodError - \ > undefined method `play' for nil:NilClass (OSX::OCException) > from ...Resources/rb_main.rb:18 > こちらの環境では、ボールが2回めに弾むあたりで、ボールが停止して しまいました。アプリケーションは落ちません。reset + startすると またちょっとだけ動きます。 こちらはまたあとでしっかりと調べようと思います。 -- kimura wataru