gpt4 book ai didi

objective-c - 在Objective-C中,我如何对除子类之外的所有人隐藏方法(不是属性)

转载 作者:行者123 更新时间:2023-12-04 05:10:56 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Private and protected methods in Objective-C

(2 个回答)


9年前关闭。




我正在寻找类似于 @protected 的内容对于方法。 @protected似乎只适用于 @properties (设置者和获取者)。有没有办法让常规方法也有类似的行为?

最佳答案

根据您的评论,我假设您正在谈论从编译器中隐藏。这确实是可能的,但可能有点麻烦。另一方面,如果有人 ,则以一种或另一种方式隐藏运行时是不可能的。好想要要访问您的方法,他们会。

要对编译器隐藏,您应该定义一个类扩展 在单独的头文件中 像这样:

#import "MyClass.h"

@interface MyClass ()

@property (nonatomic, strong) NSObject* protectedObject;
-(void) protectedMethod;

@end

您可以调用标题 MyClass+Internal.h 如果您正在构建一个库, set the header visibility to private

现在你所要做的就是在子类实现文件中导入你的私有(private)头文件(或者你可能想要在内部使用这些方法的任何地方)

关于objective-c - 在Objective-C中,我如何对除子类之外的所有人隐藏方法(不是属性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14923589/

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