1
我已经在tableview中做了一个图像+相应数据的列表。 需要较长的时间,同时加载 我想使多线程两种方法如何使用NSThread异步调用
数据的1>解析图像的
2>解析
我想执行解析数据的在此之后,我可以选择列出的任何行,即使图像未被加载(/解析),因为图像在解析数据后被解析,并且需要很长时间。
我应该从哪里调用这两种方法。 以及如何解析数据... 如何做多线程两种方法
提前
我已经在tableview中做了一个图像+相应数据的列表。 需要较长的时间,同时加载 我想使多线程两种方法如何使用NSThread异步调用
数据的1>解析图像的
2>解析
我想执行解析数据的在此之后,我可以选择列出的任何行,即使图像未被加载(/解析),因为图像在解析数据后被解析,并且需要很长时间。
我应该从哪里调用这两种方法。 以及如何解析数据... 如何做多线程两种方法
提前
你等待你的很大的性反应
感谢可能不想后启用行选择使用NSThreads - 至少不是直接使用。 你所做的是NSOperation的子类。
有几种方法可以实现您的想法。如果你从头开始就知道表中的行数,那么情况就更简单了:
创建一个名为MyParseDataOperation的NSOperation的子类。然后为表中的每一行创建一个MyParseDataOperation。操作完成后,您需要将结果数据发送给主线程。
下面的代码充满了错误,不完整。等
在MyParseDataOperation类即:
MyParseDataOperation
-(id)initWithStuff:(NSURL*)stuff forTableRow:(int)row;
{
blah blah -
// here is where I make sure I have all the data I need for main() which is called in the background on some random thread at some future time.
}
-(void)main;
{
// use data like Urls, file names, etc passed in to the initWithStuff method
get stuff
parse stuff
// ok now you have the data
NSMutableDictionary* parsedData = [NSMutableDictionary dictionary];
[parsedData setObject:[NSNumber numberWithInt:row] forKey:@"row"];
[parsedData setObject:stuff i figured out forKey:@parsed];
[tableDataSource performSelectorOnMainThread:@selector(dataParsed) withObject:parsedData];
}