所以我有一个表格视图连接到带有网址的plist。当我点击表视图单元格时,我希望它能够带我到详细视图,但现在唯一的问题是当我点击单元格将我带到详细视图时,它只会加载一个没有任何内容的黑暗屏幕。我在编译器上没有收到任何错误,所以我不知道出了什么问题。我已经重置刺激器并试图重新启动我的计算机,但现在我开始认为代码有问题。有人可以帮忙吗?
TableViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
NSString *myListPath = [[NSBundle mainBundle] pathForResource:@"myList" ofType:@"plist"];
tableData = [[NSArray alloc]initWithContentsOfFile:myListPath];
NSLog(@"%@",tableData); }
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return [tableData count]; }
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return [tableData count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
if( cell == nil )
{
NSLog(@"Cell Creation");
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];
}
//Set Data For each Cell
cell.textLabel.text = [[tableData objectAtIndex:indexPath.row]objectForKey:@"cellName"];
cell.detailTextLabel.text = [[tableData objectAtIndex:indexPath.row]objectForKey:@"cellSubtitle"];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"Index Selected,%d",indexPath.row);
WebViewController *View = [[WebViewController alloc] init];
NSString *urltoPass = [NSString stringWithString:[[tableData objectAtIndex:indexPath.row]objectForKey:@"cellSubtitle"]];
View.urlString = [[NSString alloc] initWithFormat:@"http://%@",urltoPass];
View.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:View animated:YES completion:nil];
}
答案 0 :(得分:0)
在故事板中创建控制器时,需要使用instantiateViewControllerWithIdentifier:来获取该视图控制器的实例,而不是使用alloc init。
WebViewController *View = [self.storyboard instantiateViewControllerWithIdentifier:@"WebView"];
在故事板中,您需要为控制器提供标识符" WebView"。