Я создал лист, который хотел бы отображать различные сообщения, когда программа выполняет хруст данных. Лист открывается и закрывается правильно, и у меня есть текстовая метка на листе, которая подключена к моему основному контроллеру (владельцу листа) с выходом IB.Невозможно изменить текстовую метку на листе
Nib загружается правильно, открывать и закрывать правильно, но статическая текстовая метка никогда не обновляется. Подключенный IBOutlet был определен следующим образом:
IBOutlet id mySheetText;
вызова Я использую, чтобы попытаться изменить текст на листе заключается в следующем:
[mySheetText setStringValue:@"Some text message..."];
Этот формат прекрасно работает, если метка находится в основном окна, но ничего не делает, если ярлык находится на листе.
Все соединения в IB кажутся правильными. Я уверен, что мне не хватает чего-то очень простого, и я предполагаю, что это имеет какое-то отношение к тому факту, что лист - это другое «окно», чем главное окно, но я не могу найти ничего в документах, чтобы указать мне в правильном направлении.
Кстати, вот так, как я подключил лист ...
NSWindow *mySheet;
@property (assign) IBOutlet NSWindow *mySheet;
@synthesize mySheet;
... и открыл:
if (!serverSyncSheet) {
[NSBundle loadNibNamed:@"mySheetNibFile" owner:self];
}
[NSApp beginSheet: self.mySheet
modalForWindow: [[NSApp delegate] mainWindow]
modalDelegate: self
didEndSelector: NULL
contextInfo: NULL];
Любые идеи?
* EDIT *
Итак, получается, что я отчасти. Если я попытаюсь прочитать текстовое значение, выясняется, что он устанавливает его в правильный текст, но лист не обновляется, чтобы отобразить изменение. Я подозреваю, что мне нужно сообщить окну, чтобы перерисовать ... никогда раньше этого не делал. Вернитесь к документам, чтобы узнать, могу ли я его найти. Если кто-нибудь знает метод вызова, дайте мне знать. :) Благодаря!