我想在点击表格单元格后,将id
从表格视图(TableViewController
)传递到另一个视图(ViewController
)。我已为ViewController声明了一个故事板ID“ViewController”
这是TableViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
UIViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
viewController.id=@"test";
[self.navigationController pushViewController:viewController animated:YES];
}
这是ViewController.h
@property (nonatomic) NSString *id;
ViewController.m
- (void)viewDidLoad{
id= [[NSString alloc] init];
}
但语句viewController.id=@"test";
发生了语法错误。
答案 0 :(得分:4)
id
是Objective-C中的保留字。不要命名任何变量或属性id
。将其重命名为其他内容。
此外,您的viewController
变量已声明为UIViewController
。 id
中没有UIViewController
属性。将viewController
的类型更改为实际类型(ViewController
?)。
ViewController *viewController = (ViewController *)[storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
答案 1 :(得分:1)
查看下面的链接,为初学者介绍如何在UITableViewController之间传递数据到另一个视图的基础知识。
Storyboards Segue Tutorial: Pass Data Between View Controllers
顺便说一下,我认为你不能用“id”作为你的财产名称。