我正在上学生课:
@interface student : NSObject{
NSString *name;
NSDate *date;
}
我有一个NSMutableArray用于学生列表,我将它绑定(bind)到这样的NSPopUpButton
内容:studentArray,布置对象
内容值:studentArray,rangedObjects,名称
现在我可以得到像这样的学生对象:
-(IBAction)studentPopupItemSelected:(id)sender
{
NSPopUpButton *btn = (NSPopUpButton*)sender;
int index = [btn indexOfSelectedItem];
student *std = [studentArray objectAtIndex:index];
NSLog(@"%@ => %@", [std name], [std date]);
}
有什么办法可以直接从NSPopUpButton获取学生对象?喜欢:
NSPopUpButton *btn = (NSPopUpButton*)sender;
student *std = (student *)[btn objectValueOfSelectedItem];
最佳答案
您的操作方式很好。还有另一种方法,但不一定更好。
基本上,弹出按钮包含一个菜单,并且在菜单中有菜单项。
菜单项上有一个名为presentatedObject的属性,您可以使用该属性创建与学生的关联。
因此,您可以通过创建菜单项并将其添加到菜单中来手动构建弹出按钮。
关于objective-c - 如何获取NSPopUpButton所选对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12075195/