我有一个我希望拆分多个文件的类。我尝试使用类别,但无法弄清楚如何使其工作。
我的班级名为UserManager
,我想创建UserManager+Amazon
和UserManager+Facebook
。
问题是我确实需要来访问UserManager+Amazon
中UserManager+Facebook
中实现的私有属性和/或方法,反之亦然。
如何在保留对私有内容的访问权限的同时提取主UserManager.m
文件之外的方法?
答案 0 :(得分:0)
编辑:@Avi在下面有一个很好的主意,虽然我还没有测试过。
我刚刚发现了一个解决方案:Properties for Class and Its Subclasses Only
它适用于类别和子类。我用我的代码测试了它,它的工作原理。它在BaseClass.h
上使用了一个类扩展,在接受的答案后面紧跟一个已实现的示例。
<强> OLD:强>
我最近也在努力解决这个问题。
我目前的想法是创建第三个类UserManager+Private
,它实现所有私有方法并通过关联对象(http://nshipster.com/associated-objects/)处理属性。
感觉非常笨拙,但它可能对你有用。如果存在,我仍然会对更好的解决方案感兴趣。