我的表格视图正在黑暗屏幕中加载详细视图

时间:2013-08-15 23:21:17

标签: ios cocoa-touch tableview

所以我有一个表格视图连接到带有网址的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];
}

1 个答案:

答案 0 :(得分:0)

在故事板中创建控制器时,需要使用instantiateViewControllerWithIdentifier:来获取该视图控制器的实例,而不是使用alloc init。

WebViewController *View = [self.storyboard instantiateViewControllerWithIdentifier:@"WebView"];

在故事板中,您需要为控制器提供标识符" WebView"。