我有一个名为
的方法- (void)redeemOfferService
{
// in this method i want access OffersBoughtCellTableViewCell,
how to access tableview cell here ?
// want to update selected tableview cell values
// here i am getting selected cell details in selectedOfferBoughtObj which
is actually NSObject in that i am having five string values
i want show that values in my tableview cell how can i ?
//
}
上述方法是从
调用- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex: (NSInteger)buttonIndex
{
if(alertView.tag == 10)
{
if(buttonIndex == 0)
{
[self redeemOfferService];
}
}
}
当我点击tableview小区时,这个方法正在调用,即
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIAlertView *logoutAlert = [[UIAlertView alloc]initWithTitle:@"Are you sure you want to redeem?" message:nil delegate:self cancelButtonTitle:@"Yes" otherButtonTitles:@"No", nil];
logoutAlert.tag = 10;
[logoutAlert show];
}
我知道有办法,我们可以从按钮点击发送发件人,但我想在上面的场景。
答案 0 :(得分:1)
您肯定会从某些NSMutableArray
更新tableview,这意味着您正在使用此数组填充您的tableview。
在redeemOfferService
方法中,更改要填充tableview的NSMutableArray
内的该对象的值。
然后拨打[self.tableviewName reloadData]
答案 1 :(得分:1)
在类 NSIndexPath 类型中使用全局变量,并在选定的存储上使用您选择的索引路径
NSIndexPath *selectedIndexPath; //declare it as a global
在didSelect中指定选定的值
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath
{
UIAlertView *logoutAlert = [[UIAlertView alloc]initWithTitle:@"Are you sure you want to redeem?" message:nil delegate:self cancelButtonTitle:@"Yes" otherButtonTitles:@"No", nil];
logoutAlert.tag = 10;
[logoutAlert show];
selectedIndexPath = indexPath;
}
在你的功能中改变如下
- (void)redeemOfferService
{
OffersBoughtCellTableViewCell * _selectedCell = [offersTableView cellForRowAtIndexPath:selectedIndexPath]; //Now Its your selected cell Try this .
}
尝试一次并恢复原状
答案 2 :(得分:0)
您可以使用indexPathForSelectedRow
的{{1}}属性访问所选的indexPath。
UITableView
这会为您提供所选的- (void)redeemOfferService
{
OffersBoughtCellTableViewCell *selectedCell = (OffersBoughtCellTableViewCell *)[tableViewObject cellForRowAtIndexPath:offersTableView.indexPathForSelectedRow];
}