我正在开发适用于iPhone和iPhone的应用程序iPod和开发应用程序我使用模拟器3.2(iPad)它运行完美,但当我想在我的模拟器3.1.3上的应用程序,它生成一个错误,我删除此错误通过评论此行//self.clearsSelectionOnViewWillAppear = NO; 成功建立项目,但在模拟器3.1.3上运行应用程序,当我点击按钮时,它在3.2模拟器上的另一个屏幕上完美地和&在3.1.3崩溃 我做了什么从它出来。
答案 0 :(得分:1)
UITableViewController的文档明确指出,{3.2}及更高版本上可以使用 clearsSelectionOnViewWillAppear
。它在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");
}
答案 1 :(得分:0)
你能更清楚地解释一下你的问题吗?
亲爱的朋友,
您应该更专注地阅读Apple文档,
明确指出
clearsSelectionOnViewWillAppear
是iPhone OS 3.2及更高版本中提供的方法,您尝试在3.1.3中使用它。
所以结果很明显。
clearsSelectionOnViewWillAppear 一个布尔值,指示当表出现时控制器是否清除选择。
@property(nonatomic)BOOL clearsSelectionOnViewWillAppear
讨论 此属性的默认值为YES。如果为YES,表视图控制器在收到viewWillAppear:消息时清除表的当前选择。将此属性设置为NO可保留选择。
状况 适用于iPhone OS 3.2及更高版本。 宣告进入 UITableViewController.h
由于