所以我试图在TableView.m中隐藏一个按钮,每当我在DidSelectRowAtIndex
中选择等于第二行时,就会在ViewController.h中声明该按钮。
我的代码:
TableView.m:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[popoverSpending dismissPopoverAnimated:YES];
UITableViewCell *cell = (UITableViewCell *)[tableView cellForRowAtIndexPath:indexPath];
if([self.delegate respondsToSelector:@selector(spendingButtonText:)]) {
[self.delegate spendingButtonText:cell.textLabel.text];
}
if (indexPath.row == 2) {
NSLog(@"2");
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.vc=[[ViewController alloc] init];
appDelegate.vc.button1.hidden = TRUE;
}
[self dismissViewControllerAnimated:YES completion:nil];
}
当我选择第二行时,它会跟踪2,这是NSLog(@"2");
的正当理由。但是,名为 button1 的按钮仍然可见。我的TableView.m是一类ViewController。如果您需要查看更多代码并编辑错误,请告诉我。
答案 0 :(得分:0)
执行此操作时:appDelegate.vc=[[ViewController alloc] init];
,它会创建ViewController
类的 new 实例。您想要的是现在正在显示的该类的现有实例。只需删除该行并直接设置appDelegate.vc.button1.hidden = TRUE
即可。