|
//
// searchStrDB.m
// ThePaperBase
//
// Created by Huixin on 15/7/27.
// Copyright (c) 2015年 scar1900. All rights reserved.
//
#import "searchStrDB.h"
@implementation searchStrDB
//+ (NSArray*) getAllSearchStrByDateAscending:(BOOL) ascend{
// NSError *error;
//
// NSFetchRequest *requestAll = [[NSFetchRequest alloc]init];
// //为已创建好的实体利用检索到的上下文创建一个实体描述
// NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"SearchStrList"
// inManagedObjectContext:[CoreDataManager shareInstance].managedObjectContext];
// [requestAll setEntity:entityDescription];
//
// NSSortDescriptor *dateSort = [NSSortDescriptor sortDescriptorWithKey:@"date" ascending:ascend];
// requestAll.sortDescriptors = @[dateSort];
//
// NSArray *allObjs = [[CoreDataManager shareInstance].managedObjectContext executeFetchRequest:requestAll error:&error];
// return allObjs;
//}
//bug5286: 搜索历史,清空缓存后,不应将搜索历史也清空
+ (NSArray*) getAllSearchStrByDateAscending:(BOOL) ascend{
NSMutableArray *allObjs = [NSMutableArray arrayWithArray:[TPUserDefault instance].searchHistoryArray];
if (!ascend) {
NSArray* reversedArray = [[allObjs reverseObjectEnumerator] allObjects];
return reversedArray;
}
return allObjs;
}
//+ (void) addOrUpdateSearchStr:(NSString*) searchStr{
// SearchStrList* existSearchStr = [searchStrDB getSearchStr:searchStr];
// if (existSearchStr == nil) {
// NSArray *allObjs = [searchStrDB getAllSearchStrByDateAscending:YES];
// while (allObjs.count > 9) {
// [[CoreDataManager shareInstance].managedObjectContext deleteObject:allObjs[0]];
// [[CoreDataManager shareInstance] saveContext];
// allObjs = [searchStrDB getAllSearchStrByDateAscending:YES];
// }
// SearchStrList *newSearchStr = [NSEntityDescription insertNewObjectForEntityForName:@"SearchStrList"
// inManagedObjectContext:[CoreDataManager shareInstance].managedObjectContext];
// newSearchStr.searchStr = searchStr;
// newSearchStr.date = getLocalDate();
// [[CoreDataManager shareInstance] saveContext];
// }
// else {
// existSearchStr.date = getLocalDate();
// [[CoreDataManager shareInstance] saveContext];
// }
//}
+ (void) addOrUpdateSearchStr:(NSString*) searchStr{
NSMutableArray *allObjs = [NSMutableArray arrayWithArray:[TPUserDefault instance].searchHistoryArray];
int index;
for (index = 0; index < allObjs.count; index++) {
if ([allObjs[index] isEqualToString:searchStr]) {
break;
}
}
if (index == allObjs.count) {
if (allObjs.count > 9) {
[allObjs removeObjectAtIndex:0];
}
[allObjs addObject:searchStr];
[TPUserDefault instance].searchHistoryArray = allObjs;
}
else {
[allObjs removeObjectAtIndex:index];
[allObjs addObject:searchStr];
[TPUserDefault instance].searchHistoryArray = allObjs;
}
}
//+ (void) deleteSearchStr:(NSString*) searchStr{
// SearchStrList* searchStrList = [searchStrDB getSearchStr:searchStr];
// if (searchStrList != nil) {
// [[CoreDataManager shareInstance].managedObjectContext deleteObject:searchStrList];
// [[CoreDataManager shareInstance] saveContext];
// }
//}
+ (void) deleteSearchStr:(NSString*) searchStr{
NSMutableArray *allObjs = [NSMutableArray arrayWithArray:[TPUserDefault instance].searchHistoryArray];
int index;
for (index = 0; index < allObjs.count; index++) {
if ([allObjs[index] isEqualToString:searchStr]) {
break;
}
}
if (index < allObjs.count) {
[allObjs removeObjectAtIndex:index];
[TPUserDefault instance].searchHistoryArray = allObjs;
}
}
//+ (void) deleteAllSearchStr{
// NSArray *objs = [searchStrDB getAllSearchStrByDateAscending:NO];
// if (objs != nil) {
// for (id obj in objs)
// [[CoreDataManager shareInstance].managedObjectContext deleteObject:obj];
// [[CoreDataManager shareInstance] saveContext];
// }
//}
+ (void) deleteAllSearchStr{
[TPUserDefault instance].searchHistoryArray = [NSMutableArray array];
}
//+ (SearchStrList*) getSearchStr:(NSString*) searchStr{
// NSError *error;
//
// NSFetchRequest *request = [[NSFetchRequest alloc]init];
// //为已创建好的实体利用检索到的上下文创建一个实体描述
// NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"SearchStrList"
// inManagedObjectContext:[CoreDataManager shareInstance].managedObjectContext];
// [request setEntity:entityDescription];
//
// //确定持久库中是否存在与此字段相对应的托管对象,所以创建一个谓词来确定字段的正确对象:
// NSPredicate *pred = [NSPredicate predicateWithFormat:@"searchStr == %@",searchStr];
// [request setPredicate:pred];
//
// NSArray *objs = [[CoreDataManager shareInstance].managedObjectContext executeFetchRequest:request error:&error];
//
// SearchStrList *SearchStrList = nil;
// if (objs!=nil && objs.count > 0) {
// SearchStrList = [objs objectAtIndex:0];
// }
//
// return SearchStrList;
//}
@end
|