0
我正在處理我的第一個應用程序,它正在解析網站中的數據。根據用戶的搜索,它可能需要解析1000個節點,在數據顯示在tableview之前可能需要30秒。通過前30個節點進行解析並不顯示下一個30的常規策略是什麼,直到用戶部分滾動瀏覽表格視圖。我以這個網站(here)爲例,但我很難理解我的解析方法讓它每次加載30個節點的位置。通過解析數據部分來減少加載時間
#import "DataLoader.h"
@implementation DataLoader
@synthesize delegate;
- (void)loadData
{
[self performSelector:@selector(loadDataDelayed) withObject:nil afterDelay:3];
}
- (void)loadDataDelayed
{
[parsing method here]
NSMutableArray *array = [NSMutableArray arrayWithCapacity:30];
for (int i = 1; i<=30 ; i++) {
[array addObject:[propertyList objectAtIndex:i];
}
[delegate.searchResultOfSets addObjectsFromArray:array];
[delegate.tableView reloadData];
// Always remember to set loading to NO whenever you finish loading the data.
delegate.loading = NO;
}
@end
但是,這顯然首先解析所有的數據。任何想法如何優化我的解析?
謝謝,抱歉太天真了。我是編程新手,我不確定如何解析細分。如何在30個項目後停止解析,然後在解析停止的地方拾取它? – badger0053