在我的應用程序中有searchBar。當我們輸入文字,它會做functionGrab(抓取數據從互聯網上,並將其保存到coredata),例如:在coredata上保存數據的問題?
如果我們輸入「你好」
if([[dict objectForKey:@"Category"] isNotEmpty] && [[[dict objectForKey:@"Category"] objectAtIndex:0] class]!=[NSNull class]){
NSMutableArray * DownloadedTags =[dict objectForKey:@"Category"];
NSMutableSet * TagsReturn=[NSMutableSet set];
for(int i=0;i<[DownloadedTags count];i++){
NSString * Value=[DownloadedTags objectAtIndex:i];
Tag * thisTag= (Tag*)[GrabClass getObjectWithStringOfValue:Value fromTable:@"Tag" withAttribut:@"Name"];
[TagsReturn addObject:thisTag];
}
NSMutableSet * manyManagedObjects = [BusinessToSave mutableSetValueForKey:@"Tags"];
[self removeDifferenceBetween2MutableManagedObjectSets:manyManagedObjects withDownloadedVersion:TagsReturn];
}
所以每個BIZ有許多種類。多線程應用程序中發生的是一個線程放置類別。另一個線程在提交之前也會放入相同的類別。
因此,[GrabClass getObjectWithStringOfValue:值fromTable:@ 「標籤」 withAttribut:@ 「名稱」];即使某些其他線程在不知道它的情況下已經創建了相同的對象,也會給出一個新對象
如果我同步了整個事情的代碼會連續運行,那將是緩慢的。
functionGrab:"H"
functionGrab:"Ha"
functionGrab:"Hal"
functionGrab:"Hall"
functionGrab:"Hallo"
類似,它做functionGrab 5倍
我想要在後臺functionGrab,但問題是,當我做到這一點功能,無需同步,它會保存數據的不止一個,所以結果是,有5個hallo的話在我coredata,但如果我這樣做與同步,它花了這麼多時間,這麼慢..
有沒有什麼辦法來幫助我的問題?