美文网首页
DataSaveManager

DataSaveManager

作者: SMFly | 来源:发表于2016-07-17 17:36 被阅读12次

数据存取用的是单例

#import"LoginDSManager.h"

#define HOME_TABLE @"LoginDesc"

staticLoginDSManager*manager =nil;

@implementationLoginDSManager

//单例

+ (LoginDSManager*)shareDataManager {

staticdispatch_once_tonceToken;

dispatch_once(&onceToken, ^{

manager= [[LoginDSManageralloc]init];

});

returnmanager;

}

//添加

- (void)addDataWithModel:(LoginInfo*)model {

NSUserDefaults*userDefault = [NSUserDefaultsstandardUserDefaults];

LoginDesc*tempModel = [NSEntityDescriptioninsertNewObjectForEntityForName:HOME_TABLEinManagedObjectContext:self.context];

//写入表

tempModel.uid= model.uid;

tempModel.sid= model.sid;

tempModel.kid= model.kid;

tempModel.cid= model.cid;

tempModel.hw_url= model.hwurl;

tempModel.name= model.name;

tempModel.mobile= model.mobile;

tempModel.portrait= [NSDatadataWithContentsOfURL:[NSURLURLWithString:[NSStringstringWithFormat:@"%@%@",model.hwurl,model.portrait]]];

tempModel.user_type= model.usertype;

tempModel.password= [userDefaultobjectForKey:@"user_password"];

[self.appDelegatesaveContext];

}

//查询

- (NSArray*)getDataFromCoreDataWithPredicateUid:(NSNumber*)uid predicateString:(NSString*)predicate {

//通过表名建立查询

NSFetchRequest*fetchRequset = [NSFetchRequestfetchRequestWithEntityName:HOME_TABLE];

//fetchRequset.fetchLimit = 2;

//通过字符串排序

if(predicate && (uid ==nil)) {

NSSortDescriptor*sort = [NSSortDescriptorsortDescriptorWithKey:@"mobile"ascending:NO];//YES升序,NO降序

fetchRequset.sortDescriptors=@[sort];

fetchRequset.predicate= [NSPredicatepredicateWithFormat:@"mobile = %@",predicate];

}

if(uid && (predicate ==nil)) {

fetchRequset.predicate= [NSPredicatepredicateWithFormat:@"uid = %@",uid];

}

return[self.context executeFetchRequest:fetchRequseterror:nil];

}

//删除

- (void)deleteModel:(LoginInfo*)model {

NSArray*array = [selfgetDataFromCoreDataWithPredicateUid:model.uidpredicateString:nil];

if(array.count) {

for(LoginDesc*modelinarray) {

[self.contextdeleteObject:model];

}

[self.appDelegatesaveContext];

}

}

//全部删除

- (void)deleAllData {

NSArray*array = [selfgetDataFromCoreDataWithPredicateUid:nilpredicateString:nil];

if(array.count) {

for(NSManagedObject*objinarray) {

[self.contextdeleteObject:obj];

}

[self.appDelegatesaveContext];

}

}

//更改其中某一个model的属性

- (void)changeModel:(LoginInfo*)model {

NSArray*array = [selfgetDataFromCoreDataWithPredicateUid:model.uidpredicateString:nil];

if(array.count) {

for(LoginDesc*tempModelinarray) {

[self.contextdeleteObject:tempModel];

}

[self.appDelegatesaveContext];

[selfaddDataWithModel:model];

}

}

- (BOOL)isContainModel:(LoginInfo*)model {

NSArray*array = [selfgetDataFromCoreDataWithPredicateUid:model.uidpredicateString:nil];

if(array.count) {

returnYES;

}else{

returnNO;

}

}

- (NSManagedObjectContext*)context {

NSManagedObjectContext*context =nil;

iddelegate = [[UIApplicationsharedApplication]delegate];

if([delegateperformSelector:@selector(managedObjectContext)]) {

context = [delegatemanagedObjectContext];

}

returncontext;

}

- (AppDelegate*)appDelegate {

if(!_appDelegate) {

_appDelegate= [AppDelegatedelegate];

}

return_appDelegate;

}

相关文章

  • DataSaveManager

    数据存取用的是单例 #import"LoginDSManager.h" #define HOME_TABLE @"...

网友评论

      本文标题:DataSaveManager

      本文链接:https://www.haomeiwen.com/subject/djfpjttx.html