我找到了explanation,但我觉得我有点困惑。
据我所知,如果我在BaseDataHandler.m中使用类别:
@interface STDataHandler (STDataHandlerPrivateMethods)
- (void)syncDataWithServer:(NSDictionary *)params;
@end
在子节点中找不到方法syncDataWithServer,例如DataHandlerPlayer.m
。
所以我的问题是如何为孩子提供这种方法,但隐藏其他课程。如果我将此方法放在@interface
BaseDataHandler.h
中,那么它将是公开的。
答案 0 :(得分:2)
为您的接口获取该类别定义,并将其放在名为STDataHandler_private.h的文件中。然后在您的子类的.m文件中导入STDataHandler_private.h。
理论上,其他一些课程可以导入你的"私人"标题和访问该方法也是如此...所以不要这样做。 ;)
答案 1 :(得分:0)
你做不到。 Objective-C不像Java那样将private和protected分开。