访问Objective-C中类扩展类别之间的私有属性和方法

时间:2016-01-26 13:59:37

标签: ios objective-c objective-c-category

我有一个我希望拆分多个文件的类。我尝试使用类别,但无法弄清楚如何使其工作。

我的班级名为UserManager,我想创建UserManager+AmazonUserManager+Facebook

问题是我确实需要来访问UserManager+AmazonUserManager+Facebook中实现的私有属性和/或方法,反之亦然。

如何在保留对私有内容的访问权限的同时提取主UserManager.m文件之外的方法?

1 个答案:

答案 0 :(得分:0)

编辑:@Avi在下面有一个很好的主意,虽然我还没有测试过。

我刚刚发现了一个解决方案:Properties for Class and Its Subclasses Only

它适用于类别和子类。我用我的代码测试了它,它的工作原理。它在BaseClass.h上使用了一个类扩展,在接受的答案后面紧跟一个已实现的示例。

<强> OLD: 我最近也在努力解决这个问题。 我目前的想法是创建第三个类UserManager+Private,它实现所有私有方法并通过关联对象(http://nshipster.com/associated-objects/)处理属性。 感觉非常笨拙,但它可能对你有用。如果存在,我仍然会对更好的解决方案感兴趣。