-1

我正在构建一个食谱应用程序,它保存带有图像和标题的食谱。标题字符串和图像一样保存得很好,但是当我从核心数据中拉出标题时,标签文本就会显示为这样。

在此处输入图像描述

它在核心数据中保存为字符串,这是我保存和检索它的方法。

节省

- (void)saveRecipe {

[[RecipeController sharedInstance]addRecipeWithTitle:self.titleField.text description:self.descriptionField.text andImage:self.chosenImage];

[[NSNotificationCenter defaultCenter]postNotificationName:@"recipeSaved" object:nil];

[self refreshTableViewData];
}

取回

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];

 Recipe *recipe = [RecipeController sharedInstance].recipes[indexPath.section];

cell.recipeImageView.image = [UIImage imageWithData:recipe.picture];
cell.descriptionLabel.text = recipe.description;
cell.titleLabel.text = recipe.title;

return cell; 

}

问题二...

这刚刚开始发生并且工作了一段时间,但是在详细的 VC 中,当我保存具有不同标题的第二个条目时,它只会使用始终存在的相同条目填充表格视图(它在表格视图中重复)... 但是当我选择它时,详细的 VC 会更新为正确的条目!

在此处输入图像描述

然而,当我删除第一个时,它会显示之前的正确条目。

在此处输入图像描述

在此处输入图像描述

这是我更新详细 VC 并获得正确条目的代码...

- (void)updateWithRecipe:(Recipe *)recipe {

self.recipe = recipe;
self.imageView.image = [UIImage imageWithData:recipe.picture];
self.titleField.text = recipe.title;
self.descriptionField.text = recipe.description;

}

VC 中的 segue 方法...(这有效,传递了正确的条目,但它不会以这种方式显示在表格视图中)

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

DetailViewController *detailViewController = [DetailViewController new];

    detailViewController.recipe = [RecipeController sharedInstance].recipes[indexPath.row];

[self.navigationController pushViewController:detailViewController animated:YES]; 
    }

我已经从手机上删除了该应用程序并再次运行它,但这种情况一直发生?任何帮助将不胜感激!

4

1 回答 1

2

description是由它提供的一种方法,NSObject它给出了对象的描述。不要为您的核心数据字段提供相同的名称。编辑应该警告你这一点。哪个字段addRecipeWithTitle: description:...实际存储该参数?

于 2015-11-02T21:22:29.163 回答