2014-02-16 22 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