我正在使用具有核心數據的主詳細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包含字符串。 –