Jika Anda menggunakan TableViewCells khusus, generik
[self.tableView reloadData];
tidak secara efektif menjawab pertanyaan ini kecuali Anda meninggalkan tampilan saat ini dan kembali. Tidak juga jawaban pertama.
Untuk berhasil memuat ulang sel tampilan tabel pertama Anda tanpa beralih tampilan , gunakan kode berikut:
//For iOS 5 and later
- (void)reloadTopCell {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
NSArray *indexPaths = [[NSArray alloc] initWithObjects:indexPath, nil];
[self.tableView reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
}
Masukkan metode penyegaran berikut yang memanggil metode di atas sehingga Anda dapat memuat ulang hanya sel atas (atau seluruh tampilan tabel jika diinginkan):
- (void)refresh:(UIRefreshControl *)refreshControl {
//call to the method which will perform the function
[self reloadTopCell];
//finish refreshing
[refreshControl endRefreshing];
}
Sekarang Anda memiliki yang diurutkan, di dalam Anda viewDidLoad
tambahkan yang berikut:
//refresh table view
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
[self.tableView addSubview:refreshControl];
Anda sekarang memiliki fitur tabel penyegaran khusus yang akan memuat ulang sel atas. Untuk memuat ulang seluruh tabel, tambahkan
[self.tableView reloadData];
ke metode penyegaran baru Anda.
Jika Anda ingin memuat ulang data setiap kali Anda beralih tampilan, terapkan metode ini:
//ensure that it reloads the table view data when switching to this view
- (void) viewWillAppear:(BOOL)animated {
[self.tableView reloadData];
}
[NSArray arrayWithObject:]
.