在AppDelegate的界面中,我具有以下属性声明:
@property (strong) NSArray *fileNamesInCurrentDirectory;
然后,在实现中:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[self setFileNamesInCurrentDirectory:[NSArray arrayWithObject:@"hello"]];
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
return [self.fileNamesInCurrentDirectory count];
}
调用
numberOfRowsInTableView
时,fileNamesInCurrentDirectory
是nil
。为什么?提前致谢。
最佳答案
因为如documentation中所述
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
启动和初始化应用程序后,由默认通知中心发送
我猜这意味着应用程序将完全加载,构建所有视图,然后调用该方法。
有什么原因导致您需要在应用程序加载后进行方法调用?
关于objective-c - Obj-C&Cocoa:applicationDidFinishLaunching之后,变量为nil:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13350654/