我是OS X应用程序开发的新手。我设法构建了NSComboBox(可选择,不可编辑),我可以在动作按钮上单击indexOfSelectedItem,工作正常。
如何检测变化的价值?当用户更改他们的选择时,我将用什么样的函数来检测新选择的索引?
我尝试使用NSNotification,但它没有传递新的更改值,始终是加载时的默认值。这是因为我将postNotificationName放在错误的位置,还是应该使用其他方法来获取更改后的值?
我尝试搜索网络,视频,教程但主要是为Objective-C编写的。我在SWIFT找不到任何答案。
node* p = head->ptr;
node* prev = NULL;
node* curr = head;
node* next = NULL;
while(curr!=p && p)
{
next = xor(prev,curr->ptr);
print(curr->data);
prev = curr;
curr = next;
}
}
答案 0 :(得分:5)
您需要为实现JS Fiddle 2 - updated协议的组合框定义委托,然后使用comboBoxSelectionDidChange(_:)
方法。
最简单的方法是让NewProjectSetup类实现委托,如:
class NewProjectSetup: NSViewController, NSComboBoxDelegate { ... etc
然后在viewDidLoad中,还包括:
self.projNewRouter.delegate = self
// self (ie. NewProjectSetup) implements NSComboBoxDelegate
然后你可以接受改变:
func comboBoxSelectionDidChange(notification: NSNotification) {
print("Woohoo, it changed")
}