Как получить информацию из пользовательского листа в OSX
Я создал специальный лист с таблицей. В таблице есть список имен пользователей:
Я хочу получить выбранное значение строки и использовать его в приложении. Я могу получить строку следующим образом:
-(void)tableViewSelectionDidChange:(NSNotification *)notification{
NSInteger selectedRow = [[notification object] selectedRow];
if(selectedRow != -1){
self.selectedRowDict = [self.usersArray objectAtIndex:selectedRow];
}
}
Но теперь моя проблема в том, что я хочу передать данные обратно в главное окно, которое запустило этот лист.
Ниже приведен код для того же:
if(!self.accountSheet){
[NSBundle loadNibNamed:@"AccountSheet" owner:self];
}
[NSApp beginSheet:self.accountSheet
modalForWindow:[mainWindowView window]
modalDelegate:self
didEndSelector:@selector(sheetDidEnd:returnCode:contextInfo:)
contextInfo:NULL];
Как это сделать?
Обратите внимание: лист создается в отдельном кончике от кончика главного окна. Каждый перо имеет свой собственный расширенный класс NSObject для реализации действий и другой связанной с окном работы. перо листа связано с главным окном как владелец файла и имеет IBOutlet в классе NSObject основного кончика
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
1 ответ
Пусть ваш лист хранит информацию в переменной экземпляра, как вы делаете, а затем в вашем didEndSelector
просто получите значения из листа: self.accountSheet.selectedRowDict
или что у тебя есть.