简介
所以我在xcode中创建了一个新的选项卡式应用程序并创建了一个带有nib设置等的新ViewController ......然后我从一个字符串数组中创建了一个ViewView中的TableView。这里的一切都很好。然后我想要一个新的ViewController在点击一个单元格时打开,并将单元格的标题(即数组中的字符串)传递给新的ViewController。所以我编写了一些代码,创建了一个新的ViewController,将nib添加到storyboard并将其连接到它的类(并给它正确的故事板ID)。但由于某些原因,当我点击一个单元格时,视图不会加载。我无法弄清楚为什么......我是否需要在故事板中做一些额外的设置?添加一个navigationController或什么?
我的代码
#import "CreationViewController.h"
@interface CreationViewController ()
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property (strong, nonatomic) NSArray *templateList;
@end
@implementation CreationViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.tableView.dataSource = self;
self.tableView.delegate = self;
self.templateList = tempList;
// tempList is defined by some code I removed but that's working fine
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.templateList count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
NSString *tweet = [self.templateList objectAtIndex:indexPath.row];
cell.textLabel.text = [self.templateList objectAtIndex:indexPath.row];
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
TemplateViewController *dvc = [self.storyboard instantiateViewControllerWithIdentifier:@"TemplateViewController"];
dvc.tweet = [self.templateList objectAtIndex:indexPath.row];
[self.navigationController pushViewController:dvc animated:YES];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end