我有一個SearchStringTooltip
ManagedObject。有屬性@dynamic tooltipText;
(NSString)驗證ManagedObject
我需要在數據庫中動態添加新的工具提示,但我只需要唯一值(不敏感)。
他們可能每次超過100次;每次我檢查獨特的時間..
它看起來像:
if (newTooltips.count == 0)
return;
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"SearchStringTooltip"
inManagedObjectContext:self.moc];
NSFetchRequest *request = [NSFetchRequest new];
[request setEntity:entity];
for (NSString *name in newTooltips) {
[request setPredicate:[NSPredicate predicateWithFormat:@"tooltipText = %@", name]]; //like = (=) + time *2(sometimes *3) ofcourse i know i need like.. Its insensitive
NSInteger count = [self.moc countForFetchRequest:request error:nil]; //But its is very expensive operation expensive
if (count > 0) {
continue;
}
DBSearchStringTooltip *tooltip = [NSEntityDescription insertNewObjectForEntityForName:@"SearchStringTooltip"
inManagedObjectContext:self.moc];
tooltip.tooltipText = name;
}
我怎麼能做到這一點更便宜的內存?可以有> 10000個檢查獨特的工具提示...我必須檢查所有。
Thx它是完美的.. – 2013-03-21 07:32:22
和[線索] [請求setPredicate:[NSPredicate predicateWithFormat:@「tooltipText IN%@」,newTooltips]]; [request setResultType:NSDictionaryResultType]; 我不明白..如果我評論它 - 它工作正常.. – 2013-03-21 10:26:21
注意:NSMutableOrderedSet iOS 5.0 < – 2013-03-21 10:30:28