Notificationcenter观察者选择器方法应该放在头文件中吗?

时间:2013-12-03 13:20:03

标签: objective-c cocoa-touch nsnotificationcenter notificationcenter

与我长期生活的Java世界相比,我(仍)难以理解的一件事是公共/私人方法,参数及其工作原理。

我已经开始使用notificationcenter了一段时间,我注意到你可以在你的实现文件(.m)中声明一个方法,并在nsnotificationcenter中注册你的观察者时用它作为选择器

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(aMethodNotDefinedInTheHeaderFile:) name:NOTIFICATION_KEY object:nil];

所以,我的问题是 - 这里的最佳做法是什么?我是否仍应在头文件中定义方法,以及结束?

指针非常感谢。

2 个答案:

答案 0 :(得分:0)

您不需要在头文件中定义方法,因为您不需要在类外部访问此方法,您的方法将仅由通知中心使用。 由于您在实现文件中定义了方法,因此您将响应选择器。 这没关系。

答案 1 :(得分:0)

在头文件中声明方法用于向用户提供他们可以使用的方法的类概述。

一旦订阅通知通常是内部事情(您在同一课程中订阅和接收通知),我会说它不需要。

但是,如果该方法是API的一部分,可以在别处使用,您可能希望将其放在.h文件中。