首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSTableViewDelegate接收多个NSNotifications

NSTableViewDelegate接收多个NSNotifications
EN

Stack Overflow用户
提问于 2014-03-02 16:06:52
回答 2查看 112关注 0票数 0

我有一个基于视图的NSTableView,其数据由NSArrayController的子类提供。数组控制器还接收来自其他对象的NSNotifications (仅2),告诉它要更新。只要数组控制器不充当NSTableView的委托,一切都按预期工作,每个通知只接收一次。当我将数组控制器附加为NSTableView的委托时(在IB中),这些相同的通知会被多个接收(像几百个!)时间的流逝。数组控制器只为这些通知注册一次(在awakeFromNib:中)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-18 13:35:31

为了子孙后代。

在苹果(Apple)的“Mac桌面视图编程指南”(Table View Programming Guide for Mac)中,有以下几点:

注意:调用makeViewWithIdentifier:owner:会导致在应用程序中多次调用awakeFromNib。这是因为makeViewWithIdentifier: owner :使用传入的所有者加载一个NIB,并且所有者也接收一个awakeFromNib调用,即使它已经处于清醒状态。

因此,当作为委托附加时,我们的类‘awakeFromNib:被调用为每个可见的NSTableView单元格,因此每次都会注册通知观察者。

票数 0
EN

Stack Overflow用户

发布于 2014-03-03 06:46:41

通知和委托是,两个独立的机制,在Cocoa中。

您的代码中肯定有其他事情发生,因为附加委托不应该改变接收到的通知的数量/种类。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22129966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档