gpt4 book ai didi

objective-c - 如何定义仅在 objective-c 框架内可见的方法和属性?

转载 作者:可可西里 更新时间:2023-11-01 05:46:06 26 4
gpt4 key购买 nike

我正在尝试编写一个 objective-c 框架,我希望方法和属性仅在框架内可见。我知道我可以在实现文件中的类扩展中定义它们,但是其他类将无法访问它们。

我正在考虑的一种方法是定义一个类别,例如 MyClass+Internals 并将该 header 设为私有(private)。但公开 MyClass.h header 。我想知道是否有更好的方法来做到这一点。另外,我不确定您是否可以在我认为只是方法的类别中定义属性。感谢您提出任何建议或反馈。

最佳答案

假设您有一个名为“Foo”的类,然后在“Foo_Framework.h”中创建:

@interface Foo()
@property ....;
- .... method ....
@end

然后,确保在 @implementation Foo 之前导入“Foo_Framework.h”。。这将导致类 Foo 使用在所述头文件中找到的扩展接口(interface)进行编译。然后可以在整个框架中使用该 header 。只是不要在所述框架之外提供它。

您不能在类别中声明(合成的)属性,这是正确的。这是创建类扩展的主要动机之一,上面就是一个例子。

关于objective-c - 如何定义仅在 objective-c 框架内可见的方法和属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13058342/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com