[小白見解]關於iOS小白開發中的字典轉模型數據

首先在iOS開發中,很多時候我們都會用到字典->模型的事例,這裏所說的模型 就是數據模型。

1. 字典轉模型數據的過程:

   1>首先我們先有一個plist文件,也就是數據存儲的類型 將字典中的元素添加到plist文件中去

2 >接下來我們就應該創建我們需要的模型類,並在.h聲明文件裏設置屬性和構造我們要用的方法 和plist加載的數據

1. 設置屬性 構造方法

/* 1 字典實例化成員變量 2.字典實例化對象的類方法,又稱爲工廠方法*/

-(instancetype) initWithDict:(NSDictionary *)dict;

+(instancetype) ***WithDict:(NSDictionary *)dict;

// plist加載數據

+(NSArray *)XXX;// XXX一般都是和plist文件名字一樣 便於明瞭


2.實現構造的方法

-(instancetype) initWithDict:(NSDictionary *)dict{

    if (self == [super init]) {

//        self.name = dict[@"name"];

//        self.icon = dict[@"icon"];

//        self.intro = dict[@"intro"]; (最基本的)

        /* KVC (key value coding)鍵值編碼

        // 第一個參數是字典的數值   第二個參數是類的屬性

        [self setValue:dict[@"name"] forKey:@"name"];

        [self setValue:dict[@"icon"] forKey:@"icon"];

        [self setValue:dict[@"intro"] forKey:@"intro"];*/


        //通過setValuesForKey方法來完成

        [self setValuesForKeysWithDictionary:dict];

    }

    return self ;

}

+(instancetype) heroWithDict:(NSDictionary *)dict{


    return [[self alloc]initWithDict:dict];

}


//plist數據交個模型處理數據

+(NSArray *)XXX{

    

            //獲得plist路徑

            NSString *path = [[NSBundle mainBundle]pathForResource:@"XXX.plist" ofType:nil];

            NSArray *array  = [NSArray arrayWithContentsOfFile:path];

            

            //創建數組用於接收數據

            NSMutableArray *tempArray = [NSMutableArray array];

//利用 for in 遍歷數組的字典

            for (NSDictionary *dict in array) {

//### 自己創建的類名字

// 創建模型對象並把他添加到數組中

                [tempArray addObject:[### ***WithDict:dict]];

            }

//這裏返回的是包含plist文件裏的模型數組

        return tempArray;

   

}



3-> 然後就在我們的viewController 中添加數組的屬性變量,然後 實行懶加載的方法把數據傳遞

@property(nonatomic,strong) NSArray *XXX;

//懶加載 數據

-(NSArray *)XXX{

    

    if (_XXX == nil) {

    

        _XXX = [### XXX];

        

    }

    return _XXX;

}

4-> 講用到數組的地方轉改爲模型

### *hero = _XXX[indexPath.row];

// 這時候就能使用裏面的屬性模型值了

cell.imageView.image = [UIImage imageNamed:hero.icon];


到這裏 也就基本算完成了字典轉模型的大致思路。

字典轉模型優缺點比較:

1.> 字典在使用key時候 用模型訪問屬性,若出現錯誤 編譯器不會有提示錯誤的,但是 轉換成模型後 就能提示 提高編碼的速率

2.> 模型也就是我們說的數據模型,主要用於存放數據的對象,用模型表示數據顯得我們更加專業(裝逼 滿分)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章