我正在使用具有核心数据的主详细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:]:这个类不是密钥值用于密钥卡路里兼容编码-'
任何帮助将不胜感激, 由于
self.caloriesTextField.text = [卡路里sString valueForKey:self.calorieKeyString]; - > caloriesString只是用self.managedNutritionValuesObject.calories格式化的NSString包含字符串。 –