好的,这是相当不言自明的。
假设我们已经获得了可可应用程序。 让我们假设你已经有了一些“插件”,打包成独立的可加载包。
这是当前正在加载bundle的方式(假设插件的“主类”实际上是NSWindowController
子类:
// Load the bundle
NSString* bundlePath = [[NSBundle mainBundle] pathForResource:@"BundlePlugin"
ofType:@"bundle"]
NSBundle* b = [NSBundle bundleWithPath:bundlePath];
NSError* err = nil;
[b loadAndReturnError:&err];
if (!err)
{
// if everything goes fine, initialise the main controller
Class mainWindowControllerClass = [b principalClass];
id mainWindowController = [[mainWindowControllerClass alloc] initWithWindowNibName:@"PluginWindow"];
}
现在,抓住这个问题:
SIDENOTES:
performSelector:withObject:
?mainWindowController
获取值。但这是对Cocoa最友好的方式吗?