1

我是新手MultiThreading

我有UITableView几行。当我选择一行时,服务器中会发生一些动作。所以这需要一些时间来完成这个动作。因此,当我想选择表中的其他行时,执行操作需要时间,即在第一行完成操作后,该行将启动操作。

So all i want to do is that, when the 1st row is selected and the action is preforming, and when i select the 2nd row , the 1st row action should open an new thread and run in that thread, and after the action is completed它应该杀死线程。

我希望这种方式发生在UITableview.

谁能帮我解决这个问题。提前致谢。

4

2 回答 2

4

阅读 Grand Central Dispatch:http ://www.raywenderlich.com/4295/multithreading-and-grand-central-dispatch-on-ios-for-beginners-tutorial

这是设置线程的基本示例:

dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    // Add code here to do background processing
    //
    //
    dispatch_async( dispatch_get_main_queue(), ^{
       // Add code here to update the UI/send notifications based on the
        // results of the background processing
    });
});
于 2013-05-14T14:09:14.733 回答
0

如果您使用带有 的异步请求NSURLConnection,您可以在用户选择一行时简单地启动操作,当异步请求返回时,您可以在那里做任何您需要做的事情。无需 Grand Central Dispatch 或过多担心线程。

默认情况下,NSURLConnection 的委托方法将在主运行循环中执行,因此您甚至不必担心编写线程安全代码。但是,如果您愿意,可以选择在单独的线程中运行它们。

于 2013-05-14T14:57:40.360 回答