NSFileHandle readInBackgroundAndNotify不起作用

时间:2009-08-24 19:09:54

标签: objective-c cocoa nsnotifications

您好我正在使用NSFileHandle的readInBackgroundAndNotify方法在日志文件更新时收到通知。

我有以下代码:

- (void)startReading
{
    NSString *logPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Logs/MyTestApp.log"];
    NSFileHandle *fh = [NSFileHandle fileHandleForReadingAtPath:logPath];
    NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
    [notificationCenter addObserver:self
                           selector:@selector(getData:)
                               name:NSFileHandleReadCompletionNotification
                             object:fh];
    [fh readInBackgroundAndNotify];
}

- (void) getData: (NSNotification *)aNotification
{
     NSLog(@"notification received");
}

但是永远不会调用选择器,也不会收到通知。

1 个答案:

答案 0 :(得分:3)

  1. 将NSLog添加到startReading以确保被调用。
  2. 记录fh。我的猜测是nil(很可能是因为你还没有创建MyTestApp.log)。