所以我在notificationsViewController中有一个带有海关单元格的表。此tableView从jsonSerialization加载数据以显示数据,特别是customerID和checkinID
自定义单元名为checkInCell.m,.xib和.h。在此自定义单元格中,有两个按钮,一个用于接受签入并拒绝使用API调用签入。 (示例网址:api / CheckIn / checkInConfirmation?CustomerID =%@& MerchantID =%@& confirm =%@& CheckInID =%@“)
我的问题是如何将来自notificationViewController的customerID和checkinID传递给自定义单元格按钮,以便我可以执行接受和拒绝签到?
另外,如何重新加载表的数据,因为如果我想从checkinCell重新加载数据,我认为下面的代码不会起作用。
[self.notificationsTableview reloadData];
我试过做notificationViewcontroller.notificationsTableView重载数据,但我想我错过了什么。谢谢你的帮助!
答案 0 :(得分:0)
在你的tableView:cellForRowAtIndexPath:覆盖中,在使用dequeueCell访问你的单元格之后......或者通过加载nib文件,你需要使用customerID和checkinID配置检索到的单元格以及显示的任何其他信息。通常,tableView:cellForRowAtIndexPath看起来像:
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
MyCell* cell = [tableView dequeueCellWithReusableIdentifier:@"MyCell"];
if(!cell)
{
cell = .... some other mechanism of loading cell from your nib file
}
// configure cell here
cell.customerID = ...
cell.checkinID = ...
return cell;
}
请注意,如果您使用故事板,则“从nib文件加载”部分会大大简化,因为您可以使用dequeueCellWithReusableIdentifier:forIndexPath:并且它将“始终”为您返回一个单元格。
按钮的目标和操作应设置为nib文件中的单元格本身。现在,当按下按钮时,将执行自定义单元格上的方法,您可以访问上面配置中传入的数据。
我不确定你的问题是关于reloadData的。 reloadData将导致tableview(但不是你的控制器)中的所有数据从委托和dataSource(可能是你的控制器)重新加载如果你想强制只重新加载一个部分(或行),还有reloadSections。 ..和reloadRows ...变体。