【问题标题】:NSStream on Background didn't call背景上的 NSStream 没有调用
【发布时间】:2010-12-18 06:35:32
【问题描述】:
- (void)applicationDidEnterBackground:(UIApplication *)application {
    NSOutputStream *outputStream;
    NSInputStream *inputStream;

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        [inputStream setDelegate:self];
        [outputStream setDelegate:self];

        [inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop]
                               forMode:NSRunLoopCommonModes];
        [outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop]
                                forMode:NSRunLoopCommonModes];

        [app endBackgroundTask:bgTask];

        bgTask = UIBackgroundTaskInvalid;

    });
}

Input,OutputStream 委托没有调用。我做错了什么。

【问题讨论】:

    标签: iphone objective-c cocoa ios4 ios-4.2


    【解决方案1】:

    你是否通过以下方式运行了当前的运行循环?

     do {
    
        [[NSRunLoop currentRunLoop] runUntilDate:[NSDate date]];
      } while (done == TRUE);
    

    【讨论】:

      【解决方案2】:

      您似乎省略了流的初始化,例如

      NSInputStream *inputStream = [NSInputStream inputStreamWithURL: myURL];
      NSOutputStream *outputStream = [NSOutputStream outputStreamToMemory];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-04
        • 2016-11-21
        • 2015-06-27
        • 2016-01-06
        • 1970-01-01
        • 2012-04-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多