1
我已经创建了一个包含表格的自定义工作表。该表具有的用户名列表中它:如何从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类
如果需要更多信息,请让我知道。
我试过这个,但是编译器说没有在对象类型NSWindow上找到selectedRowDict。对我来说,理解......这是有道理的,因为这个变量是在一个单独的NSObject类中声明的,该类与表代表和表单关联。我已经在问题中添加了更多信息.. t帮助解决问题 – Nik
用NSWindow子类的类型声明accountSheet,而不是NSWindow。这应该满足编译器。 – paulmelnikow
我仍然没有得到你的方法..对不起...你可以请详细说明'你的NSWindow子类的类型声明accountSheet,而不是NSWindow'。因为我有一个笔尖和一个NSObject扩展的对象类 – Nik