2010-11-26 182 views
0

我为iPhone开发应用程序& iPod和开发应用程序期间我使用模拟器3.2(iPad)它运行完美,但是当我想在我的应用程序模拟器3.1.3上它产生一个错误我通过评论这条线删除此错误/ /self.clearsSelectionOnViewWillAppear = NO; 并成功建设项目,但在模拟器上运行应用程序3.1.3当我点击按钮时,它在3.2模拟器上的另一个屏幕上完美&在3.1.3上崩溃 我从中得到什么。iphone模拟器崩溃?

+0

如果在使用它们之前请检查方法文档,如果它们在您的工作sdk中可用。正如清楚地写出clearsSelectionOnViewWillAppear在3.2以上可用。它会排序你的大部分问题:) – 2010-11-26 06:25:15

回答

1

UITableViewController用于该文档明确指出clearsSelectionOnViewWillAppear是用于iOS 3.2及以上。它在3.1.3中崩溃,因为这个属性在3.1.3中不存在(你可以通过阅读你已经发现的属性的文档来轻松地猜测这个属性是由于你已经发现导致了问题,或者通过查看错误消息来指出该对象不响应选择器setClearsSelectionOnViewWillAppear

在设置此之前,您可以检查此属性并设置它,否则您的旧代码可以按原样支持,或者您可以执行一些更高级的操作并添加在前期3.2环境下的性能

要检查的代码,你做这样的事情:

if([UITableViewController instancesRespondToSelector:@selector(setClearsSelectionOnViewWillAppear:)]) { 
    // This is 3.2+ so we can use this property 
    [self setClearsSelectionOnViewWillAppear:NO]; 
} else { 
    // This is something earlier than 3.2, so we ignore it 
    NSLog(@"will clear selection: pre-3.2"); 
} 
+0

其中我把这个代码&当我把它放入viewDidload方法,然后它说警告类可能不会响应setClearsSelectorOnViewWillAppear method.plz详细解释我newbe它。 – 2010-11-26 06:09:16

0

你能更清楚地解释你的问题吗?

我亲爱的朋友,

你应该更认真阅读苹果文档,

它明确提出

clearsSelectionOnViewWillAppear

可从iPhone OS 3.2和更高版本的方法,你正试图在3.1.3中使用它。

所以结果很明显。

clearsSelectionOnViewWillAppear 一个布尔值,指示控制器在表出现时是否清除选择。

@属性(非原子)BOOL clearsSelectionOnViewWillAppear

讨论 该属性的缺省值是YES。当“是”时,表视图控制器在收到viewWillAppear:消息时清除表的当前选择。将此属性设置为NO会保留选择。

可用性 适用于iPhone OS 3.2及更高版本。 宣布 UITableViewController.h

由于

相关问题