为什么在选择单元格后视图笔尖不会打开?

时间:2011-06-25 07:07:36

标签: iphone objective-c iphone-sdk-3.0

我创建了nib文件,并且我正确地完成了所有连接。当我运行应用程序并选择一个单元格时,新的笔尖根本不会打开。请帮忙!

    - (void)tableView:(UITableView *)tableView 
 didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    //Get the selected country
NSString *selectedCountry = [[NSString alloc] initWithFormat:@"you pressed for this."];

//Initialize the detail view controller and display it.
DetailViewController *dvController = [[DetailViewController alloc] 
                                      initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]];

dvController.selectedCountry = selectedCountry;
[self.navigationController pushViewController:dvController animated:YES];
[dvController release];
dvController = nil;

}

4 个答案:

答案 0 :(得分:3)

看起来(基于没有记录NSLog语句的输出)您没有正确设置delegate,因为它会以其他方式记录null或某些对象价值。您需要重新检查您的IB连接,或者如果您已通过编程方式完成,请执行tableView.delegate = self;

答案 1 :(得分:0)

试试这个:


DetailViewController *dvController = [[DetailViewController alloc] 
                                      initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]];

dvController.selectedCountry = selectedCountry;
[self.navigationController pushViewController:dvController animated:YES];
dvController = nil;

答案 2 :(得分:0)

不要同时释放dvController并将其设置为nil - 只做一个。

答案 3 :(得分:0)

希望您尝试从listviewcontroller加载detailvewcontroller。表视图是listviewcontroller的成员。

问题的可能原因。

如果要将listviewcontroller.view作为子视图添加到任何其他viewcontollers视图,那么

[self.navigationController pushViewController:dvController animated:YES];不工作。

因此,您应该获得应用委托的实例并执行以下操作。

YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];

[appDelegate .navigationController pushViewController:dvController animated:YES];

检查一下。如果这不是您的问题的原因,那么请让我知道Deepak问你的控制台输出。