1, the construction of the data model
#import <Foundation/Foundation.h>@interface**name; -(Instancetype) Initwithdict: (Nsdictionary *) dict; + (Instancetype) appmodelwithdict: (Nsdictionary *) dict; @end
#import " AppModel.h " @implementation Appmodel-(Instancetype) Initwithdict: (Nsdictionary *) dict { if (self = [Super init ]) { [self setvaluesforkeyswithdictionary:dict]; } return Self ;} + (Instancetype) appmodelwithdict: (Nsdictionary *) dict { return [[Self alloc] Initwithdict:dict];} @end
2. Lazy Loading Data
@interfaceViewcontroller () @property (nonatomic, strong) Nsmutablearray*DataArray;@end@implementationViewcontroller
-(Nsmutablearray *) DataArray {if(Nil = =_dataarray) {_dataarray=[Nsmutablearray array]; //reading data from the plistNSString *path = [[NSBundle mainbundle] Pathforresource:@"app.plist"Oftype:nil]; Nsarray*array =[Nsarray Arraywithcontentsoffile:path]; //Dictionary Turn Model for(Nsdictionary *dictinchArray) {Appmodel*model =[Appmodel appmodelwithdict:dict]; [_dataarray Addobject:model]; } } return_dataarray;}@end
PS: Because the Getter method is overridden, the call must be called self.dataarray[]
Data model Building and lazy loading data