提供对基类中定义的私有方法的访问

时间:2014-03-25 20:27:51

标签: ios objective-c

我找到了explanation,但我觉得我有点困惑。

据我所知,如果我在BaseDataHandler.m中使用类别:

@interface STDataHandler (STDataHandlerPrivateMethods)

- (void)syncDataWithServer:(NSDictionary *)params;

@end

在子节点中找不到方法syncDataWithServer,例如DataHandlerPlayer.m

所以我的问题是如何为孩子提供这种方法,但隐藏其他课程。如果我将此方法放在@interface BaseDataHandler.h中,那么它将是公开的。

2 个答案:

答案 0 :(得分:2)

为您的接口获取该类别定义,并将其放在名为STDataHandler_private.h的文件中。然后在您的子类的.m文件中导入STDataHandler_private.h。

理论上,其他一些课程可以导入你的"私人"标题和访问该方法也是如此...所以不要这样做。 ;)

答案 1 :(得分:0)

你做不到。 Objective-C不像Java那样将private和protected分开。