如何从NSPopupButton下拉列表中获取NSString值?

时间:2015-11-26 21:23:49

标签: objective-c macos nsmenuitem

从sqlite db获取用户名值。

-(NSArray*)getUname
{ 

NSArray *resul = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
 NSArray *fetchedRecords = [resul valueForKey:@"uName"];
}

将此数组值插入NSPopupButton

[_registeredUserPopupButton addItemsWithTitles:[self getUname]];

从NSPopupButton下拉列表中获取字符串值

NSString *usrNam = [NSString stringWithFormat:@"%@",[_registeredUserPopupButton selectedItem]];

从上面的代码中,usrNam值返回如下

" NSMenuItem:0x6080000a9c00 mickel"

但我希望我的nsstring输出为" mickel"

2 个答案:

答案 0 :(得分:1)

从菜单项中获取title

NSString *usrNam = [[_registeredUserPopupButton selectedItem] title];

或带点符号

NSString *usrNam = _registeredUserPopupButton.selectedItem.title;

答案 1 :(得分:0)

-selectedItem方法返回NSMenuItem对象。这反过来有一个title属性,这是我认为你正在寻找的。应该如下所示。

NSString *usrNam = [NSString stringWithFormat:@"%@",[_registeredUserPopupButton selectedItem.title]];