2011-01-03 21 views
7

Sto cercando di ottenere un'applicazione base Hello mondiale utilizzando XCode e Interface Builder. Tuttavia, in Interface Builder non riesco a vedere i miei punti vendita con cui collegare le cose. Vado alla scheda connessioni del pannello di ispezione oggetti e dice "Nuovo punto vendita di riferimento".Interface Builder non vedendo outlets con MacRuby

Mi chiedo se il mio codice è sbagliato. Qui è

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 

A quanto ho capito dovrei essere in grado di vedere ciao, hello_label, hello_button, e changeLabel, ma non lo faccio. Ho pensato che forse ho avuto un errore ortografico da qualche parte, ma non sembra neanche questo. Ecco una panoramica delle due finestre di builder dell'interfaccia.

alt text

ogni aiuto è apprezzato. Penso che sto solo trascurando qualcosa, ma non sono sicuro.

AGGIORNAMENTO: Ho risolto il problema semplicemente reinstallando OS X. Sospetto che ci sia stato un problema perché X Code 4 è stato installato, non ne ho idea. Tuttavia, ora funziona con una nuova installazione di OS X, codice X e MacRuby

+0

Questo è corretto per me. Immagino tu abbia salvato il file sorgente? Inoltre, prova a 'build clean' e riavvia Interface Builder. –

+0

Ho salvato il progetto. In effetti ho salvato il progetto e riavviato il computer, quindi l'ho riaperto. L'ho appena riaperto e ho fatto una pulizia e poi una build. Quindi aperto nel builder dell'interfaccia e lo stesso problema. Ho provato a rimuovere e ad aggiungere nuovo NSObject e ancora lo stesso problema. – percent20

risposta

1

Ho avuto un problema simile http://www.mail-archive.com/[email protected]/msg05331.html

è stato fissato reinstallando MacRuby dopo una reinstallazione di XCode.

+0

Ho appena eseguito anche questo dopo aver installato l'ultimo XCode. La reinstallazione l'ha risolto. –

+0

Dopo l'aggiornamento a XCode 4.4.1 anche oggi ho avuto lo stesso problema - risolto reinstallando MacRuby 0.12 dopo l'aggiornamento. –

0

MacRuby viene installato con file e modelli di progetto e uno strumento che consente a IB/Xcode di collegare elementi dell'interfaccia utente al codice MacRuby e viceversa. In alcuni casi, l'aggiornamento di Xcode o l'installazione dell'SDK iOS interrompe il bridge Xcode ed è necessario reinstallare MacRuby. Si noti che se Xcode4 è supportato solo in MacRuby 0.10 o più recente. (Ho appena modificato i modelli Xcode 4 oggi nel bagagliaio e dovrebbero uscire con la versione 0.10 in pochi giorni).

+0

Questo è bello sapere. Tuttavia, in questo problema originale ho reinstallato macruby e non l'ho mai risolto fino a quando non ho fatto una nuova installazione di OS X e xcode 4 non c'era più. – percent20

1

Non c'è bisogno di reinstallare se si è su XCode 4.1 o 4.2, come ho appena fatto - è veramente rotto ora. Vedere this ticket per quando è stato risolto e una soluzione alternativa.

0

Questo problema è stato risolto in Xcode 4.2.

0

Come indicato in un'altra risposta, Xcode 4.1 aveva un bug in cui IB non riconosceva i punti vendita nelle classi MacRuby. È corretto in Xcode 4.2. Tuttavia, se si esegue l'aggiornamento a 4.2, è necessario reinstallare MacRuby per le prese MacRuby per iniziare a lavorare di nuovo.

Problemi correlati