Core data TableView未显示CoreData中的数据

Core data TableView未显示CoreData中的数据,core-data,uitableview,segue,Core Data,Uitableview,Segue,我在项目中工作,其中TableViewController作为初始控制器。然后我有CoreData,在那里我存储我的数据。从我的第一个TableViewController开始,我通过故事板中的push segue进入ViewController。在该ViewController中,我将数据添加到核心数据中,但当ViewController关闭且TableViewController返回时,我的表仍然为空 以下是我的表代码: - (void)viewDidLoad { [super viewD

我在项目中工作,其中TableViewController作为初始控制器。然后我有CoreData,在那里我存储我的数据。从我的第一个TableViewController开始,我通过故事板中的push segue进入ViewController。在该ViewController中,我将数据添加到核心数据中,但当ViewController关闭且TableViewController返回时,我的表仍然为空

以下是我的表代码:

- (void)viewDidLoad
{

[super viewDidLoad];
AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
_managedObjectContext = [appDelegate managedObjectContext];

NSFetchRequest*request = [[NSFetchRequest alloc]init];
NSEntityDescription*name = [NSEntityDescription entityForName:@"nameEntity" inManagedObjectContext:_managedObjectContext];
[request setEntity:name];

NSError*error = nil;
NSMutableArray*mutableFetchResults = [[_managedObjectContext executeFetchRequest:request error:&error]mutableCopy];
if (mutableFetchResults == nil) {

}
 [self setMutableArray:mutableFetchResults];
[self.tableView reloadData];
}
而不是表行的“我的代码”:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return mutableArray.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Name";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
Name*name = (Name*) [mutableArray objectAtIndex:indexPath.row ];

cell.textLabel.text = name.shop;
cell.detailTextLabel.text = name.date;
return cell;
}
下面是我在ViewController中存储数据的代码:

- (IBAction)addData:(id)sender;{
Name *name = [NSEntityDescription     insertNewObjectForEntityForName:@"nameEntity"   inManagedObjectContext:_managedObjectContext];
[name setShop:textField.text];
NSDate*date = [NSDate date];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"dd.MM.yyyy"];
NSString *dateString = [df stringFromDate:date];
[zoznam setDate:dateString];
你在打电话吗

[self.tableView reloadData];
在viewDidLoad中,当您关闭viewController时将不会调用它。如果要重新加载数据源,请尝试以下操作:

- (void)viewWillAppear:(BOOL)animated{
     AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
      _managedObjectContext = [appDelegate managedObjectContext];

      NSFetchRequest*request = [[NSFetchRequest alloc]init];
      NSEntityDescription*name = [NSEntityDescription entityForName:@"nameEntity"  inManagedObjectContext:_managedObjectContext];
      [request setEntity:name];

      NSError*error = nil;
      NSMutableArray*mutableFetchResults = [[_managedObjectContext executeFetchRequest:request error:&error]mutableCopy];
      [self setMutableArray:mutableFetchResults];
     [self.tableView reloadData];
 }

只是一个小提示,您的“name”类应该有一个大写字母N。类的标准做法是先有大写字母。帮助可读性发布其余的数据源方法。numberOfSectionsInTableView:–tableView:numberOfRowsInSection:现在它工作了,但是数据没有正确地存储到coreData中,因为当我再次启动我的应用程序时,表是干净的,这超出了这个问题的范围。我想问另一个关于核心数据的问题