fileNamesInCurrentDirectory

fileNamesInCurrentDirectory

在AppDelegate的界面中,我具有以下属性声明:

@property (strong) NSArray *fileNamesInCurrentDirectory;


然后,在实现中:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    [self setFileNamesInCurrentDirectory:[NSArray arrayWithObject:@"hello"]];

}

- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
    return [self.fileNamesInCurrentDirectory count];
}


调用numberOfRowsInTableView时,fileNamesInCurrentDirectorynil。为什么?

提前致谢。

最佳答案

因为如documentation中所述

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification



  启动和初始化应用程序后,由默认通知中心发送


我猜这意味着应用程序将完全加载,构建所有视图,然后调用该方法。

有什么原因导致您需要在应用程序加载后进行方法调用?

关于objective-c - Obj-C&Cocoa:applicationDidFinishLaunching之后,变量为nil:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13350654/

10-09 16:23