Interface Builder not Seeing Outlets with MacRuby

2019-02-16 23:27发布

I am trying to get a basic hello world application going using XCode and Interface Builder. However, in Interface Builder I can't see my outlets to wire things up with. I go to the connections tab of the objects inspector pane and it says "New Referencing Outlet".

I am wondering if my code is wrong. Here it is

class HelloWorldController 
    attr_accessor :hello_label, :hello_button, :hello

    def awakeFromNib 
        @hello = true
    end

    def changeLabel(sender) 
        if @hello
            @hello_label.stringValue = "Good Bye" 
            @hello_button.title = "Hello" 
            @hello = false
        else
            @hello_label.stringValue = "Hello World" 
            @hello_button.title = "Good Bye" 
            @hello = true
        end 
    end
end

As I understand it I should be able to see hello, hello_label, hello_button, and changeLabel, but I don't. I thought maybe I had a misspelling somewhere, but that doesn't seem to be it either. Here is a shot of the two interface builder windows.

alt text

Any help is appreciated. I think I am just overlooking something, but not sure.

UPDATE: I solved the problem by just re-installing OS X. I suspect there was a problem because X Code 4 was installed, no idea. However, it now works with a fresh install of OS X, X Code and MacRuby

6条回答
迷人小祖宗
2楼-- · 2019-02-16 23:36

As indicated in another answer, Xcode 4.1 had a bug where IB did not recognize outlets in MacRuby classes. It is corrected in Xcode 4.2. However, if you upgrade to 4.2, you must then reinstall MacRuby for MacRuby outlets to start working again.

查看更多
何必那么认真
3楼-- · 2019-02-16 23:37

If you upgrade to Xcode 4.3+, you will need to follow these instructions:

http://lldong.github.com/blog/2012/03/05/xcode-4-dot-3-macruby-compatible-problem-workaround/

It will bring bace your Macruby project templates and fix rb_nibtool

查看更多
孤傲高冷的网名
4楼-- · 2019-02-16 23:39

No need to reinstall if you are on XCode 4.1 or 4.2, like I just did - it is truly broken now. See this ticket for when it is fixed, and a workaround.

查看更多
看我几分像从前
5楼-- · 2019-02-16 23:42

I had a similar problem http://www.mail-archive.com/macruby-devel@lists.macosforge.org/msg05331.html

it was fixed by reinstalling MacRuby after a reinstall of XCode.

查看更多
等我变得足够好
6楼-- · 2019-02-16 23:45

This issue has been resolved in Xcode 4.2.

查看更多
叼着烟拽天下
7楼-- · 2019-02-16 23:59

MacRuby installed comes with file and project templates and a tool that allows IB/Xcode to link UI elements to MacRuby code and vice-versa. In some cases, upgrading Xcode or installing the iOS SDK breaks the Xcode bridge and you need to reinstall MacRuby. Note that if Xcode4 is only supported in MacRuby 0.10 or more recent. (I just edited the Xcode 4 templates today in trunk and they should go out with the 0.10 release in a few days).

查看更多
登录 后发表回答