2014-02-16 47 views
0

我正在使用具有核心數據的主詳細VC模板構建我的項目。如何在嘗試設置核心數據的值時配置NSNumber的視圖

我想在詳細信息窗口中爲我的屬性設置值。

當從MasterViewController轉換到FoodDetailViewController時,我的NSString屬性完美地工作。

當我添加代碼來添加卡路里值屬性(設置爲整數16),我的應用程序崩潰。

我生成的類文件爲我的實體和熱量屬性聲明如下:

@property (nonatomic, retain) NSNumber * calories; 

這是我如何設置過渡。

在MasterViewController.m在prepareForSegue,我設置爲KeyString中這樣的:

foodDetailVC.calorieKeyString = @"calories」; 
在FoodDetailViewController.h

然後我做:

@property (nonatomic, strong) NSString *calorieKeyString; 

在FoodDetailViewController.m我所做的:

-(void)configureView 
{ 
if (self.managedNutritionValuesObject) { 
    //refresh content to ensure most up to date data 
    [self.managedObjectContext refreshObject:self.managedNutritionValuesObject 
           mergeChanges:YES]; 

    //covert NSNumber values to NSString values 
    NSString *caloriesString = [NSString stringWithFormat:@"%@", 
    self.managedNutritionValuesObject.calories]; 

//set nutrition values in text fields 
    //these first two lines are for food text field 
    self.foodNameTextField.text = [self.managedNutritionValuesObject 
    valueForKey:self.foodNameKeyString]; 
    self.foodNameTextField.clearsOnBeginEditing = YES; 
    self.caloriesTextField.text = [caloriesString valueForKey:self.calorieKeyString]; 
    self.caloriesTextField.text = caloriesString; 

} 
} 

崩潰日誌說它在配置視圖崩潰,我得到這個消息:

*終止應用程序由於未捕獲的異常 'NSUnknownKeyException',原因:
'[< __NSCFString 0x8b44e20> valueForUndefinedKey:]:這個類不是密鑰值用於密鑰卡路里兼容編碼-'

任何幫助將不勝感激, 由於

+0

self.caloriesTextField.text = [卡路里sString valueForKey:self.calorieKeyString]; - > caloriesString只是用self.managedNutritionValuesObject.calories格式化的NSString包含字符串。 –

回答

0
self.caloriesTextField.text = [self.managedNutritionValuesObject valueForKey:@"calories"]; 
+0

做到了!謝謝! – RunnerGirl