2017-04-09 2 views
0

ich vor kurzem von Apple Master-Detail-Vorlage meines eigenen Projekt kopiert, aber ich erhalte eine Fehlermeldung mit dieser Codezeile:erhalte eine Fehlermeldung auf 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]; 
} 

Es ist nicht einen Fehler in Apples Vorlage bekommen hat. Bitte helfen Sie!

Hier ist die MasterViewController Erklärung:

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

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

Können Sie den Code "MasterViewController" eingeben? Es sieht so aus, als ob 'MasterViewController' nicht die Eigenschaft' clearsSelectionOnViewWillAppear' besitzt. Normalerweise ist diese Eigenschaft für einen 'UICollectionViewController' vorhanden. – Fahim

+0

Die .h-Datei '#import @klasse DetailViewController; @interface MasterViewController: UIViewController @Eigenschaft (stark, nichtatomisch) DetailViewController * detailViewController; @Eigenschaft (stark, nicht atomar) IBOutlet UITableView * tableView; @end ' – NSReposter

+0

' clearSelectionOnViewWillAppear' ist eine Eigenschaft von UITableViewController nicht UIViewController. https://developer.apple.com/reference/uikit/uitableviewcontroller/1614758-clearsselectiononviewwillappear – danh

Antwort

0

Ihre Erklärung für MasterViewController zeigt keine clearsSelectionOnViewWillAppear Eigenschaft. Aus diesem Grund erhalten Sie den Fehler, den Sie erwähnt haben. Mein Verdacht ist, dass in der ursprünglichen Code, wo Sie Ihren Code von MasterViewController wurde UITableViewController oder UICollectionViewController anstelle von UIViewController. Überprüfen Sie die ursprüngliche Vorlage, um zu sehen, wie MasterViewController deklariert wurde. Ich glaube, dass es UITableViewController sein sollte, wenn es die standardmäßige Vorlagenvorlage in Xcode war.

Oder Ihr Code bezieht sich auf den falschen View-Controller. Ich kann es dir nicht sagen, ohne alle Details zu kennen.

+0

Öffnen Sie einfach xcode, und drücken Sie neue Xcode-Projekt, wählen Sie "Master View" als Option. – NSReposter

+0

Sehen Sie die Änderung, die ich oben zu meiner Antwort gemacht habe - ich glaube, was Sie tun müssen, ist "MasterViewController" von "UITableViewController" zu erweitern. – Fahim

Verwandte Themen