gpt4 book ai didi

ios - TableView Controller 不显示更新的核心数据值

转载 作者:行者123 更新时间:2023-11-28 22:10:16 24 4
gpt4 key购买 nike

从头开始使用 TVC 和核心数据 TableView Controller 。我在 viewdidload 中实现了拉动刷新。例如,当我使用 sqllite 更新核心数据时,数据不会更新,即使我调用 [self.tableView reloadData];

我的 MasterViewController.h:

#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>

@interface MasterViewController : UITableViewController <NSFetchedResultsControllerDelegate>
@property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController;
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;

@end

和我的 MasterViewController.m(来自 Apple 模板):

#import "MasterViewController.h"

@interface MasterViewController ()
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath;
@end

@implementation MasterViewController

- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.leftBarButtonItem = self.editButtonItem;

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertNewObject:)];
self.navigationItem.rightBarButtonItem = addButton;

// Initialize Refresh Control
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];

// Configure Refresh Control
[refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];

// Configure View Controller
[self setRefreshControl:refreshControl];
}

- (void)refresh:(id)sender {

NSLog(@"Refreshing View ...");

// End Refreshing
[(UIRefreshControl *)sender endRefreshing];

[self.tableView reloadData];

}

感谢帮助!!

最佳答案

我没有看到任何更新数据的代码部分。

事实上,您在 UITableView 上调用“reloadData”不会获取任何新数据,它只会再次调用您实现的数据源协议(protocol)调用(numberOfSectionsInTableView、numberOfRowsInSection、cellForRowAtIndexPath 等)。因此,当拉动刷新控件时,获取新数据,然后调用“reloadData”。

关于ios - TableView Controller 不显示更新的核心数据值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23093322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com