在MacOS 10.11上使用Xcode 7.3,目标C。
我的自定义类IsoDate有一个xib,其中包含NSText和NSStepper的视图。 在测试应用程序中,此代码:
_dateViewControllerM = [[IsoDate alloc] initWithNibName:nil bundle:nil];
[_dateViewControllerM view];
表现得像记录在案。例如,在isoDate.m中,断点为:
- (void)viewDidLoad { ...
一旦调用view方法,就会捕获。现在在插件中做同样的事情,我必须引用插件包而不是mainBundle,所以:
_dateViewControllerM = [[IsoDate alloc] initWithNibName:nil bundle:thePluginBundle];
但是现在从不调用 - (void)windowDidLoad。即使我使用loadView,它仍然没有被调用。我能够通过显式调用一些初始化来解决这个问题,然后addSubview等的后续代码都按预期工作。
但为什么? - 什么使得调用" view"在插件中不同于测试程序中的调用?