我有TableViewController& DetailViewController。 我想在DetailViewController中修改一个名为'label'的标签。
TableViewController.h:
@interface CodexTableView : UIViewController <UITableViewDelegate, UITableViewDataSource>
{
NSMutableArray *listOfItems;
DetailViewController *vc;
}
@property (nonatomic, retain) DetailViewController *vc;
@property (strong, nonatomic) IBOutlet UITableView *myTable;
@end
我的TableViewController.m的摘录:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
vc.label.text = @"bonjour";
//UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
//NSLog(@"%@",cell.textLabel.text);
DetailViewController *dvController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];
dvController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:dvController animated:YES];
[dvController release];
dvController = nil;
}
但它不起作用。 有人知道错误吗? 请帮我。 谢谢:))
答案 0 :(得分:0)
您为细节视图控制器混合了两个变量。删除dvController
只能使用vc
属性,如下所示:
vc = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];
[[vc label] setText:@"bonjour"];
使label
成为详情视图控制器的属性,并将其指向屏幕标签。