ios - how can store custom objects in NSUserDefaults -
i apologize duplicate question . new in ios . want store custom objects in userdefaults. using objective-c .
thanks in advance
first create custom class below.
customobject.h
#import <foundation/foundation.h>  @interface customobject : nsobject<nscoding>  @property(strong,nonatomic)nsstring *name;  @end  customobject.m
#import "customobject.h"  @implementation customobject    - (void)encodewithcoder:(nscoder *)encoder {     //encode properties, other class variables, etc     [encoder encodeobject:self.name forkey:@"name"];  }  - (id)initwithcoder:(nscoder *)decoder {     if((self = [super init])) {         //decode properties, other class vars         self.name = [decoder decodeobjectforkey:@"name"];      }     return self; } then create customobject class object , store in nsuserdefaults
stored object this
customobject *object =[customobject new]; object.name = @"test";  nsmutablearray *arr = [[nsmutablearray alloc]init]; [arr  addobject:object];  nsdata *encodedobject = [nskeyedarchiver archiveddatawithrootobject:arr]; nsuserdefaults *defaults = [nsuserdefaults standarduserdefaults]; [defaults setobject:encodedobject forkey:@"storeobject"]; [defaults synchronize]; get custom object nsuserdefaults this
 nsdata *storedencodedobject = [defaults objectforkey:@"storeobject"];         nsarray *arrstoreobject = [nskeyedunarchiver unarchiveobjectwithdata:storedencodedobject];         (int i=0; i<arrstoreobject.count; i++)         {             customobject *storedobject = [arrstoreobject objectatindex:i];             nslog(@"%@",storedobject.name);          } 
Comments
Post a Comment