iOS / Xcode 4:视图无法加载

时间:2011-04-08 20:12:36

标签: iphone xcode ios xcode4

这真是令人沮丧,因为我已经修改了之前版本的Xcode并且之前已经完成了这项工作,但现在正在使用新的应用程序,但由于某些原因它无法正常工作。

我将应用程序打开到UITableView,并希望在我选择单元格后将其加载到详细信息UIView。但是,当我在iPhone模拟器中选择一个单元格时,它只会突出显示单元格蓝色并且不会加载视图。

以下是我正在使用RootViewController的代码:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
WorkoutViewController *workoutViewController;
workoutViewController = [[WorkoutViewController alloc] initWithNibName:@"WorkoutViewController" bundle:nil];
workoutViewController.workoutName = [workouts objectAtIndex:indexPath.row];
[self.navigationController pushViewController:workoutViewController animated:YES];
[workoutViewController release];
workoutViewController = nil;

我将视图链接到WorkoutViewController.xib文件中的文件所有者。当我在@implementation WorkoutViewController中输入一个断点时,它确实到达了那个断点,但它转到了@synthesize行然后再跳回到[self.navigationController ... etc];并且永远不会返回WorkoutViewController.m文件。

2 个答案:

答案 0 :(得分:1)

我猜你没有将ViewController设置为TableView的委托。要检查,请打开ViewController xib文件并右键单击FilesOwner。在Referencing Outlet下,您通常会将delegatedata来源与您的TableView相关联。如果不是这种情况,请将New Referencing Outlet拖到您的TableView上。

如果我错了并且它们都已连接,您可能需要在didSelectRowAtIndexPath方法的开头添加断点。一旦选择了行,调试器就会停在那里吗?

值得一提的是,@implementation处的断点通常没有多大意义,您宁愿将它放在像init这样的方法中。此外,即使您现在使用Xcode 4,这不太可能是您的问题的原因,它看起来更像是一个实现问题。

希望这有帮助,如果您需要进一步的帮助,请告诉我!

答案 1 :(得分:1)

卫生署!问题解决了。我忘记了将RootViewController实际放入MainWindow.xib上的导航控制器中。感谢回应。