Die Erweiterung der Utility-Vorlage
-
03-07-2019 - |
Frage
Die Erweiterung des Utility-Template
Ich arbeite mit der Xcode-Dienstprogramm Vorlage (Mainside / Flipside) und ich brauche einen neuen Bildschirm hinzuzufügen. Ich habe hinzugefügt:
docView.xib (copy of FlipsideView.xib)
docView.m
docView.h
docViewController.m
docViewController.h
In rootViewController.h I hinzugefügt:
UINavigationBar *docNavigationBar;
docViewController *docViewController;
@property (nonatomic, retain) UINavigationBar *docNavigationBar;
@property (nonatomic, retain) docViewController *docViewController;
In RootViewController.m ich die Zusätze synthetisiert:
@synthesize docNavigationBar;
@synthesize docViewController;
Ich tue meinen .h in RootViewController.m importieren:
#import "docViewController.h"
Wenn ich zu kompilieren versuche ich Fehler aus mit:
RootViewController.m:22: error: syntax error before 'docViewController'
Warnungen:
RootViewController.m:160: warning: property 'docViewController' requires method '-docViewController' to be defined - use @synthesize, @dynamic or provide a method implementation
RootViewController.m: 160: Warnung: Eigenschaft 'docViewController' erfordert die Methode 'setDocViewController:' definiert werden - Verwendung @synthesize, @dynamic oder eine Methode Implementierung bereitstellen
Was habe ich verpasst?
Lösung
Tatsächlich, ich glaube, er meinte docViewController gesetzt zu haben (es ist neue View-Controller, nicht wahr?). In jedem Fall, wenn dies ist, was Sie gemeint, und nicht FlipsideViewController wie Eric sagt, dann ist dein Problem ist, dass Sie es das gleiche wie die Eigenschaft genannt. Schlechte Idee. Normale Objective-C-Konvention ist der erste Buchstabe des Klassennamen in Großbuchstaben, dann sie klein geschrieben, wenn Sie sie als Eigenschaften verwenden, etc.
docViewController *docViewController;
sollte:
DocViewController *docViewController;
Es wird eine Menge Arbeit besser so:)
Andere Tipps
In rootViewController.h, sieht aus wie Ihre Deklarationszeile:
docViewController *docViewController;
Sollte sein:
FlipsideViewController *docViewController