我试图从WWDC 2010 vol128掌握表视图合并和修改扩展节头。但是,我必须错过一个步骤或忘记了一些内容,因为我在尝试使用表视图访问我的视图时遇到了EXC_BAD_ACCESS错误。我得到EXC_BAD_ACCESS试图使用我的UITableViewController的子类
我忘了你在哪里可以找到源代码,但它在他们的开发者网站上。这是很多的代码发布。
我看到的主要区别是他们的版本将UITableViewController的子类作为子视图添加到它们的appdelegate即。窗口。我想将我的控制器添加到viewviewler中的scrollview。我确定有这个问题吗?
下面的原始代码对我来说没有任何意义,因为它在将它添加为子视图之前释放aTableViewController,在我的版本中,我无法做到这一点。它也使得self.tableViewController = aTableViewController; tableViewController是这样合成在顶部: @synthesize tableViewController=tableViewController_
我不知道它来自哪里,因为它没有在项目中的任何其他地方引用。同样,原始代码在应用程序代码中也有这样的代码,所以也许有些东西我不知道在那里发生。
苹果的代码(它的工作原理):
TableViewController* aTableViewController = [[TableViewController alloc] initWithStyle:UITableViewStylePlain];
aTableViewController.plays = self.plays;
self.tableViewController = aTableViewController;
[aTableViewController release];
// Stamdard window display.
[self.window addSubview:aTableViewController.view];
[self.window makeKeyAndVisible];
出于测试目的,我做了一个空testTableViewController子这几乎是空的,并试图将其添加为具有相同结果的子视图。也许,我错误地创建了一个UITableViewController子类。对不起,因为含糊不清,但我认为它与上面给出的信息片断有关。
谢谢
你提到这行代码:'@synthesize tableViewController = tableViewController_'。你还可以粘贴属性声明,该声明应该如下所示:'@property(nonatomic,retain)tableViewController;' – Steve
另外,请粘贴代码行(以及某些上下文),以获取错误。 – Steve
嗯,我完全忘了那个。谢谢。它不再崩溃。我仍然好奇为什么self.tableViewController = aTableViewController允许我在将它添加为子视图之前释放一个TableViewController。 – Adam