Problemas NOOB con la obtención de resultados de código (más especificamente con NSComboBox)

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

  •  27-09-2019
  •  | 
  •  

Pregunta

Sé que esto es probablemente una pregunta simple pero aquí es lo que estoy devanando los sesos para resolver esto:

Sé que esto:

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

}

devolverá el elemento en el índice proporcionado. Mi pregunta es, ¿qué código necesito para usar para llamar a esta rutina?

He intentado algo como esto:

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

pero me da un "error: 'ComboBox' no declarada"

Puede alguien ayudarme con el concepto de que estoy arruinando?

¿Fue útil?

Solución

En primer lugar, es posible que desee leer la Objective-C Lenguaje de programación para aprender la sintaxis correcta para el envío de mensajes a los objetos, incluido usted mismo.

Usted obtiene un mensaje de error sin sentido, ya que han escrito (lo que está en Objective-C) de código sin sentido. Un mensaje expresión de Objective-C válida sería compilar y ejecutar con éxito, pero no creo que haría lo que estás esperando que.

Ves (y esta es la segunda cosa), comboBox:objectValueForItemAtIndex: no es normalmente un mensaje se envía a sí mismo. El cuadro combinado envía el mensaje a usted cuando usted es su fuente de datos. Las fuentes de datos son una variación en el patrón de delegado que está entre las cosas que se describen en detalle en el la Guía de cacao Fundamentos .

(Usted puede enviar el mensaje a sí mismo, e incluso puede tener sentido para hacer esto si deliberadamente quiere pasar por la misma ruta de objeto-valor de recuperación que hace el cuadro combinado, pero esto no es lo que hay que hacer para hacer funcionar un cuadro combinado.)

Tanto el documento de Lenguaje y el documento de cacao Fundamentos son una lectura esencial para todos los programadores de cacao, junto con la Guía de administración de memoria de cacao . Debe leer los tres documentos de principio a fin.

La solución a su problema inmediato es que el objeto que responde a comboBox:objectValueForItemAtIndex: a ser la fuente de datos del cuadro combinado. Es probable que conectar esto en IB, en la misma semilla en la que creó el cuadro combinado.

Si nada de esto tiene sentido, entonces todo lo que puede sugerir que usted es, de nuevo, al leer esos documentos. Se le explicará todo.

Si realmente se limitó a decir que preguntarse por el valor del objeto de la misma forma en que el cuadro combinado (es decir, que tiene el cuadro combinado que ya están trabajando y tienen la intención de obtener el valor del objeto de la misma manera para otros fines), entonces usted todavía tiene que leer el Objective-C Programación documento de Lenguaje para aprender la sintaxis correcta para enviar ese mensaje a sí mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top