2017-04-09 115 views
0
错误

我最近复制苹果的主详细信息模板到我自己的项目,但我得到这一行的代码中的错误:获取有关clearsSelectionOnViewWillAppear

- (void)viewWillAppear:(BOOL)animated { 
self.clearsSelectionOnViewWillAppear = self.splitViewController.isCollapsed; //ERROR ON THIS LINE it says "Property 'clearsSelectionOnViewWillAppear` not found on object type 'MasterViewController *'" 
[super viewWillAppear:animated]; 
} 

它并没有得到苹果的模板错误。请帮忙!

这里的MasterViewController声明:

#import <UIKit/UIKit.h> 
@class DetailViewController; 

@interface MasterViewController : UIViewController 
@property (strong, nonatomic) DetailViewController *detailViewController; 
@property (strong, nonatomic) IBOutlet UITableView *tableView; 
@end 
+0

你可以发布声明'MasterViewController'的代码吗?看起来好像'MasterViewController'没有'clearsSelectionOnViewWillAppear'属性。通常情况下,该属性是用于“UICollectionViewController”的。 – Fahim

+0

.h文件'#import @class DetailViewController; @interface MasterViewController:UIViewController @property(strong,nonatomic)DetailViewController * detailViewController; @property(强,非原子)IBOutlet UITableView * tableView; @end ' – NSReposter

+0

'clearsSelectionOnViewWillAppear'是UITableViewController的属性,而不是UIViewController。 https://developer.apple.com/reference/uikit/uitableviewcontroller/1614758-clearsselectiononviewwillappear – danh

回答

0

您的MasterViewController声明没有显示clearsSelectionOnViewWillAppear属性。这就是为什么你会遇到你提到的错误。我的怀疑是,在原始代码中,您将代码从MasterViewController中删除的代码是UITableViewControllerUICollectionViewController而不是UIViewController。检查原始模板,看看如何声明MasterViewController。如果它是Xcode中的标准主模板,我相信它应该是UITableViewController

或者,您的代码指的是错误的视图控制器。如果不知道所有细节,我无法确定地告诉你。

+0

只要打开xcode,然后按新的xcode项目,选择“Master View”作为选项。 – NSReposter

+0

查看我上面对我的回答所做的更改 - 我相信您需要做的是将'MasterViewController'从'UITableViewController'扩展。 – Fahim