2016-09-03 51 views
3

JSONModel財產的分配值這裏是我的JSON數據JSONModel - 在相同的使用等性能JSONModel

[{ 
    "id": 1, 
    "name":"Soup", 
    "price1":100, 
    "price2":10, 
}, 
{ 
    "id": 2, 
    "name":"Salad", 
    "price1":100, 
    "price2":10, 
}] 

我創建JSONModel如下

@interface ProductModel : JSONModel 
@property (assign, nonatomic) int id; 
@property (strong, nonatomic) NSString* name; 
@property (assign, nonatomic) float price1; 
@property (assign, nonatomic) float price2; 
@property (assign, nonatomic) BOOL isOK; 
@property (assign, nonatomic) float<Optional> total; // not coming 
@end 

在視圖 - 控制

NSArray* models = [ProductModel arrayOfModelsFromDictionaries:objects]; 

現在什麼我想要的是

if(isOK) 
{ 
    total = price1 + price2; 
} else { 
    total = price1 - price2; 
} 

是否有可能在模型文件內的某處寫這個邏輯,不反覆在視圖 - 控制模式陣列和分配

回答

3

我的建議的價值在於你創造了total一個getter物業在您的ProductModel類。

-(float) total 
{ 
    if(self.isOK) 
    { 
     return self.price1 + self.price2; 
    } else { 
     return self.price1 - self.price2; 
    } 
} 
2
  • 中聲明ProductModel

    @property (assign, nonatomic, readonly) float total; 
    
  • 一個只讀屬性並執行它

    - (float)total 
    { 
        return (self.isOK) ? self.price1 + self.price2 : self.price1 - self.price2; 
    } 
    

然後,你可以簡單地用語法model.total讀值