在Swift 2.1中,通过NSNotificationCenter.defaultCenter()在NSArrayController中监听项目选择的正确方法是使用addObserver(_:selector:name:object:)方法来注册观察者。
具体步骤如下:
func methodName(notification: NSNotification)
,其中methodName为方法名,notification为NSNotification对象,用于获取通知的相关信息。示例代码如下:
class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 创建观察者对象
let observer = self
// 注册观察者
NSNotificationCenter.defaultCenter().addObserver(observer, selector: #selector(ViewController.handleNotification(_:)), name: "ProjectSelectionNotification", object: nil)
}
// 接收通知时调用的方法
@objc func handleNotification(notification: NSNotification) {
// 处理通知
if let userInfo = notification.userInfo {
// 获取通知中的信息
if let selectedProject = userInfo["selectedProject"] as? Project {
// 处理选中的项目
}
}
}
deinit {
// 在对象销毁时,移除观察者
NSNotificationCenter.defaultCenter().removeObserver(self)
}
}
在上述示例中,我们创建了一个名为"ProjectSelectionNotification"的自定义通知,并将观察者对象注册为接收该通知的对象。在接收到通知时,调用handleNotification方法进行处理。在handleNotification方法中,我们可以通过notification.userInfo获取通知中的信息,进一步处理选中的项目。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云