Как получить информацию из пользовательского листа в 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или что у тебя есть.

Другие вопросы по тегам