2011-01-03 14 views
7

Próbuję uzyskać podstawową aplikację na cześć świata przy użyciu XCode i narzędzia do tworzenia interfejsu. Jednak w narzędziu do tworzenia interfejsów nie widzę swoich rynków, w których można by się z tym uporać. Idę do zakładki połączeń w panelu inspektorów obiektów i pojawia się komunikat "New Referencing Outlet".Konstruktor interfejsów nie widzący gniazdek z MacRuby

Zastanawiam się, czy mój kod jest nieprawidłowy. Tu jest

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 

Jak rozumiem powinienem być w stanie zobaczyć cześć, hello_label, hello_button i changeLabel, ale ja nie. Pomyślałem, że może mam gdzieś błąd, ale to też nie wygląda. Oto ujęcie dwóch okien programu budującego interfejs.

alt text

Każda pomoc jest mile widziana. Myślę, że właśnie coś przeoczam, ale nie jestem pewien.

AKTUALIZACJA: Rozwiązałem problem, ponownie instalując system OS X. Podejrzewam, że wystąpił problem, ponieważ zainstalowano kod X 4, nie mam pojęcia. Jednakże, teraz pracuje z nową instalację OS X, X i kodeksu MacRuby

+0

który wygląda poprawna do mnie. Zakładam, że zapisałeś plik źródłowy? Spróbuj też "zbuduj czystość" i zrestartuj program Interface Builder. –

+0

Zapisałem projekt. W rzeczywistości zapisałem projekt i zrestartowałem komputer, a następnie ponownie go otworzyłem. Po prostu otworzyłem go i wyczyściłem kompozycję. Następnie otworzył się w budowniczym interfejsu i ten sam problem. Próbowałem usunąć i dodać nowy NSObject i nadal ten sam problem. – percent20

Odpowiedz

1

miałem podobny problem http://www.mail-archive.com/[email protected]/msg05331.html

została ona ustalona przez ponowne zainstalowanie MacRuby po reinstall XCode.

+0

Po prostu wpadłem na to także po zainstalowaniu najnowszego XCode. Ponowna instalacja naprawiła to. –

+0

Po aktualizacji do XCode 4.4.1 miałem dzisiaj ten sam problem - naprawiono przez ponowne zainstalowanie MacRuby 0.12 po aktualizacji. –

0

Zainstalowana MacRuby zawiera szablony plików i projektów oraz narzędzie, które pozwala IB/Xcode na łączenie elementów interfejsu użytkownika z kodem MacRuby i na odwrót. W niektórych przypadkach uaktualnienie Xcode lub zainstalowanie SDK iOS łamie mostek Xcode i musisz ponownie zainstalować MacRuby. Zauważ, że jeśli Xcode4 jest obsługiwany tylko w MacRuby 0.10 lub nowszym. (Właśnie edytowałem szablony Xcode 4 dzisiaj w pniu i powinny wyjść z wersją 0.10 w kilka dni).

+0

Dobrze o tym wiedzieć. Jednak w tym oryginalnym problemie ponownie zainstalowałem macruby i nigdy go nie naprawiłem, dopóki nie zrobiłem świeżej instalacji OS X, a kod xcode 4 już nie istniał. – percent20

1

Nie trzeba ponownie instalować, jeśli korzystasz z XCode 4.1 lub 4.2, tak jak właśnie zrobiłem - teraz jest naprawdę zepsuty. Zobacz this ticket, kiedy jest naprawiony i obejście problemu.

0

Ten problem został rozwiązany w Xcode 4.2.

0

Jak wskazano w innej odpowiedzi, Xcode 4.1 miało błąd, w którym IB nie rozpoznaje placówek w klasach MacRuby. Poprawiono go w Xcode 4.2. Jeśli jednak uaktualnisz się do wersji 4.2, musisz ponownie zainstalować MacRuby dla MacRuby, aby zacząć działać ponownie.

Powiązane problemy