如何定义只在objective-c框架中可见的方法和属性?
我正在尝试编写一个objective-c框架,我希望方法和属性只在框架内可见。我知道我可以在实现文件中的类扩展名中定义它们,但是其他类将无法访问它们如何定义只在objective-c框架中可见的方法和属性?,objective-c,ios,categories,Objective C,Ios,Categories,我正在尝试编写一个objective-c框架,我希望方法和属性只在框架内可见。我知道我可以在实现文件中的类扩展名中定义它们,但是其他类将无法访问它们 我考虑的一种方法是定义一个类别,例如MyClass+Internals,并将该标题设置为私有。但是要公开MyClass.h头。我想知道是否有更好的方法。另外,我不确定您是否可以在一个类别中定义属性,我认为这只是方法。感谢您的建议或反馈。假设您有一个名为“Foo”的类,然后在“Foo_Framework.h”中创建: 然后,确保在@实现Foo之前导入
我考虑的一种方法是定义一个类别,例如MyClass+Internals,并将该标题设置为私有。但是要公开MyClass.h头。我想知道是否有更好的方法。另外,我不确定您是否可以在一个类别中定义属性,我认为这只是方法。感谢您的建议或反馈。假设您有一个名为“Foo”的类,然后在“Foo_Framework.h”中创建: 然后,确保在
@实现Foo
之前导入“Foo_Framework.h”。这将导致使用在所述头文件中找到的扩展接口编译类Foo。然后可以在整个框架中使用该标题。只是不要让它在上述框架之外可用
您不能在类别中声明(合成的)属性,这是正确的。这是创建类扩展的主要动机之一,上面就是一个例子。如何做到这一部分“只是不让它在所述框架之外可用”?
@interface Foo()
@property ....;
- .... method ....
@end