I'm having a student class:
@interface student : NSObject{
NSString *name;
NSDate *date;
}
and i have a NSMutableArray for list of students, and i bound it to a NSPopUpButton like this
content : studentArray, arrangedObjects content values : studentArray, arrangedObjects, name
now I can get the student object like this:
-(IBAction)studentPopupItemSelected:(id)sender
{
NSPopUpButton *btn = (NSPopUpButton*)sender;
int index = [btn indexOfSelectedItem];
student *std = [studentArray objectAtIndex:index];
NSLog(@"%@ => %@", [std name], [std date]);
}
is there any way that i can get the student object directly from NSPopUpButton???? like:
NSPopUpButton *btn = (NSPopUpButton*)sender;
student *std = (student *)[btn objectValueOfSelectedItem];
The way you are doing it is fine. There is another way, but not necessarily better.
Basically the popup button contains a menu, and in the menu there are menu items.
On the menu item there is a property called representedObject, which you could use to create an association with a student.
Therefore you can build your popup button manually by creating menu items, and adding them to your menu.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With