【发布时间】:2019-11-14 05:21:50
【问题描述】:
如果您执行 AppKit 的 class-dump,它会显示该框架中定义的多个私有/隐藏类。
一个例子是下面的类:
__attribute__((visibility("hidden")))
@interface _NSFullScreenWindow : NSWindow
{
}
- (BOOL)canBecomeKeyWindow;
@end
如何创建一个在 Objective-C 中私有/隐藏的类的实例?
我知道私人/隐藏课程不应该被访问,所以不需要道德课。
【问题讨论】:
-
您的 MacOS 应用程序设置一切正常吗?我可以毫无问题地实例化
id object = [NSClassFromString(@"_NSFullScreenWindow") new]。 -
@Kamil.S 我需要再看一遍,我创建了一个新的 Cocoa 项目并对其进行了测试,结果只是返回了 0x0 作为类。
-
@Kamil.S 我刚刚运行了与我今天的问题相同的代码,实际上我得到了对该类的引用,昨天检查变量时一定犯了一些错误。谢谢!
-
@Kamil.S 我将代码从问题移到了答案,因为它按照你说的那样工作。
标签: objective-c macos private