热更新demo

searchStrDB.m 5.4KB

    // // 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