Özel TableViewCells kullanıyorsanız, genel
[self.tableView reloadData];
mevcut görünümden ayrılmadıkça bu soruya etkili bir şekilde cevap vermez çıkıp geri . İlk cevap da vermiyor.
İlk tablo görünümü hücrenizi görünümler arasında geçiş yapmadan başarıyla yeniden yüklemek için aşağıdaki kodu kullanın:
//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];
}
Yalnızca üst hücreyi (veya isterseniz tüm tablo görünümünü) özel olarak yeniden yükleyebilmeniz için yukarıdaki yöntemi çağıran aşağıdaki yenileme yöntemini ekleyin :
- (void)refresh:(UIRefreshControl *)refreshControl {
//call to the method which will perform the function
[self reloadTopCell];
//finish refreshing
[refreshControl endRefreshing];
}
Artık bu sıralamaya sahip olduğunuza göre, viewDidLoad
aşağıdakileri ekleyin:
//refresh table view
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
[self.tableView addSubview:refreshControl];
Artık üst hücreyi yeniden yükleyecek özel bir yenileme tablosu özelliğiniz var. Tüm tabloyu yeniden yüklemek için
[self.tableView reloadData];
yeni yenileme yönteminize.
Görünümleri her değiştirdiğinizde verileri yeniden yüklemek istiyorsanız, yöntemi uygulayın:
//ensure that it reloads the table view data when switching to this view
- (void) viewWillAppear:(BOOL)animated {
[self.tableView reloadData];
}
[NSArray arrayWithObject:]
.