这真是令人沮丧,因为我已经修改了之前版本的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文件。
答案 0 :(得分:1)
我猜你没有将ViewController设置为TableView的委托。要检查,请打开ViewController xib文件并右键单击FilesOwner
。在Referencing Outlet
下,您通常会将delegate
和data
来源与您的TableView
相关联。如果不是这种情况,请将New Referencing Outlet
拖到您的TableView上。
如果我错了并且它们都已连接,您可能需要在didSelectRowAtIndexPath
方法的开头添加断点。一旦选择了行,调试器就会停在那里吗?
值得一提的是,@implementation
处的断点通常没有多大意义,您宁愿将它放在像init这样的方法中。此外,即使您现在使用Xcode 4,这不太可能是您的问题的原因,它看起来更像是一个实现问题。
希望这有帮助,如果您需要进一步的帮助,请告诉我!
答案 1 :(得分:1)
卫生署!问题解决了。我忘记了将RootViewController实际放入MainWindow.xib上的导航控制器中。感谢回应。