我有一个nspopupbutton,想用来选择打开文件的文本编码。
我已经有了一些想法来实现这一点,但是当我开始学习Objto-C和COCOA的时候,我几乎可以肯定有更好的方法来完成我想要的。
我需要一个带有编码名称和相关nsstring encoding值的nsstring。
我已经考虑过创建一个表示编码(名称和值)的类,并用这种类型的对象创建一个nsarray,然后用数组的内容填充nspopupbutton,但是我认为应该有更好的方法。
我对nsdictionary类不是很熟悉,但我怀疑这会使事情变得更简单。
有人能给我点提示吗?

最佳答案

创建一个字典,其中编码作为值,nspopupbutton的名称作为键

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
NSNumber numberWithLong:NSASCIIStringEncoding], @"ASCII",
[NSNumber numberWithLong:NSUnicodeStringEncoding], @"Unicode", nil];

然后将它们添加到nspopupbutton
[myPopUpButton addItemsWithTitles:[dict allKeys]]

然后获取用户选择的编码
[dict objectForKey:[myPopUpButton titleOfSelectedItem]]

注意:您需要在对象中包装字符串编码枚举,如nsvalue或nsnumber。

关于objective-c - 如何正确使用NSPopUpButton,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11471172/

10-08 21:06