如何在ios3.2中进行多线程处理会出现一些问题

时间:2012-04-21 22:41:19

标签: objective-c xcode

我有一个问题,我正在使用ios 3.2 for iPad ..它在iphone 4.1上工作,但它不适用于iPad ios 3.2

这是我的代码:

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
    dispatch_async(queue, ^{
        dispatch_sync(dispatch_get_main_queue(), ^{
            [self myPrivateFunction];
        });
    });

请告诉我,我能做些什么..

3 个答案:

答案 0 :(得分:1)

如果您花时间查看文档,那么您会看到Grand Central Dispatch已经在4.0版本的iOS中引入。因此,它们无法在iOS版本3.2上运行。

替代品: 使用某些异步方法(如performSelectorInBackground:withObject:)或使用pthreads推出自己的线程方法。

答案 1 :(得分:0)

iOS 3.2中没有GCD和块。对于简单的多线程,您可以改为使用performSelectorInBackground:withObject:performSelectorOnMainThread:withObject:waitUntilDone:

答案 2 :(得分:0)

iOS 4.0之前无法使用Grand Central dispatch。 您可以使用NSInvocationOperation进行异步操作。