NOOB Problemi con ottenere risultati dal codice (più specificatamente con NSComboBox)

StackOverflow https://stackoverflow.com/questions/4038290

  •  27-09-2019
  •  | 
  •  

Domanda

So che probabilmente è una domanda semplice, ma qui è quello che sto svinatura il mio cervello per capire questo:

So che questo:

- (id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)index {
return [midiModelContents objectAtIndex:index];

}

ritorna l'elemento all'indice di dotazione.La mia domanda è, quale codice devo usare per chiamare questa routine?

Ho provato qualcosa di simile a questo:

NSString *curData =(comboBox: midiModel objectValueForItemAtIndex:0);

ma mi da un errore":'comboBox' sommerso"

Qualcuno mi può aiutare con il concetto che sto perdendo?

È stato utile?

Soluzione

Prima, si potrebbe desiderare di leggere Objective-C, il Linguaggio di Programmazione per imparare la sintassi corretta per l'invio di messaggi di oggetti, compresi voi stessi.

Si ottiene una sciocchezza messaggio di errore perché hai scritto (che è in Objective-C) sciocchezze codice.Un Obiettivo valido-C messaggio di espressione compilato ed eseguito correttamente, ma non credo che avrebbe fatto ciò che ci si aspetta per.

Si vede (e questa è la seconda cosa), comboBox:objectValueForItemAtIndex: non è di solito un messaggio che si invia a te stesso. La casella combinata invia un messaggio a voi quando siete origine dati.Fonti di dati sono una variazione sul delegato modello che è tra le cose descritte in dettaglio in il Cacao Fondamenti di Guida.

(Si può inviare il messaggio a se stessi, e potrebbe anche avere un senso fare questo se hai deliberatamente vogliono passare attraverso lo stesso oggetto-valore di recupero del percorso casella combinata, ma questo non è ciò che devi fare per creare una casella combinata di lavoro.)

Sia la Lingua del documento e il Cacao Fondamenti documento sono una lettura essenziale per ogni Cacao programmatore, insieme con la Gestione della Memoria Guida per Cacao.Si dovrebbe leggere tutti e tre i documenti dall'inizio alla fine.

La soluzione al tuo problema immediato è per l'oggetto che risponde alla comboBox:objectValueForItemAtIndex: per essere l'origine dati della casella combinata.Probabilmente gancio in IB, nello stesso pennino in cui è stata creata la casella combinata.

Se nessuno di questo ha un senso, quindi tutto quello che posso suggerirvi è, di nuovo, a leggere quei documenti.Sono in grado di spiegare tutto.

Se davvero non significa semplicemente chiedere a se stesso il valore dell'oggetto stesso modo casella combinata (cioè, hai la casella combinata già lavorando e che intendono ottenere il valore dell'oggetto stesso modo per altri scopi), quindi hai ancora bisogno di leggere Objective-C, il Linguaggio di Programmazione documento di imparare la sintassi corretta per inviare il messaggio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top