Noob Проблемы с получением результатов из кода (более конкретно с NSCombobox)

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

  •  27-09-2019
  •  | 
  •  

Вопрос

Я знаю, что это, вероятно, простой вопрос, но вот то, что я стенул свой мозг, чтобы выяснить это:

Я знаю, что это:

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

}

вернет товар в предоставленном индексе. Мой вопрос в том, какой код мне нужно использовать для того, чтобы вызвать эту рутину?

Я пробовал что-то вроде этого:

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

Но я получаю «ошибку:« COBLOBOX »незаконченный»

Может кто-нибудь помочь мне с концепцией, которую я испортил?

Это было полезно?

Решение

Во-первых, вы можете прочитать Язык программирования объекта-C Чтобы узнать правильный синтаксис для отправки сообщений на объекты, включая себя.

Вы получаете сообщение об ошибке ошибок, потому что вы написали (что такое в Objective-C) Nonsense Code. Действительное выражение сообщения объекта-C будет успешно скомпилировать и работать, но я не думаю, что это будет делать то, что вы ожидаете.

Вы видите (и это второе), comboBox:objectValueForItemAtIndex: не обычно сообщение, которое вы отправляете на себя. Комбо коробка Отправляет это сообщение для вас, когда вы являетесь его источником данных. Источники данных являются изменением шаблона делегата, который является одним из вещей, подробно описанных в Руководство по основаниям какао.

(Ты могу Отправьте сообщение для себя, и он может даже иметь смысл сделать это, если вы сознательно хотите пройти тот же путь для поиска на объект-значений, который делает комбинированное поле, но это не то, что вам нужно сделать, чтобы сделать работу комбо .)

Оба языкового документа, так и в документе Cocoa Condentals являются важным чтением для каждого какао-программиста вместе с Руководство по управлению памятью для какао. Отказ Вы должны прочитать все три документа от начала до конца.

Решение вашей немедленной проблемы состоит в том, чтобы объект, который отвечает на comboBox:objectValueForItemAtIndex: Быть источником данных комбо в поле. Вы, вероятно, подключите это в IB, в том же Nib, где вы создали комбинированную коробку.

Если никто из этого не имеет смысла, то все, что я могу предложить вам, снова, чтобы прочитать эти документы. Они все объяснят.

Если вы действительно просто означали задавать себе значение объекта так же, как и в поле комбо (т. Е. У вас уже есть комбинированная коробка, работающая уже и намерена получить значение объекта одинаково для каких-либо других целей), то вам все еще нужно Чтобы прочитать документ на языковом программировании Objective-C, чтобы узнать правильный синтаксис, чтобы отправить себе это сообщение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top