我有一个从Swift中NSObject
派生的类的对象数组,我想添加到NSComboBox
。
例如:
class MyItem : NSObject
{
var data = "Hello"
var value = 1.234
}
var listOfItems = [MyItem]();
var item1 = MyItem()
var item2 = MyItem()
listOfItems.append( item1)
listOfItems.append( item2)
myNSComboBox.addItemsWithObjectValues(listOfItems)
我可以在MyItem
中添加或覆盖哪些内容会返回要在NSComboBox
中显示的字符串吗?
答案 0 :(得分:0)
您需要创建一个包含相应字符串的字符串数组。
func transform(sequence: [MyItem], inout output: [String], pred: (MyItem) -> String) {
var g = sequence.generate()
while let obj = g.next() {
output.append(pred(obj))
}
}
var listOfItems: [String] = []
transform(listOfItems, &listOfItems) {
$0.data
}
myNSComboBox.addItemsWithObjectValues(listOfItems)
上面的转换函数可以作为一个通用函数,适用于任何序列类型。我将把它作为读者的练习。 : - )