Расширение шаблона утилиты
-
03-07-2019 - |
Вопрос
Расширение шаблона утилиты
Я работаю с шаблоном утилиты Xcode (Основная сторона / Обратная сторона), и мне нужно добавить новый экран.Я добавил:
docView.xib (copy of FlipsideView.xib)
docView.m
docView.h
docViewController.m
docViewController.h
В RootViewController.h я добавил:
UINavigationBar *docNavigationBar;
docViewController *docViewController;
@property (nonatomic, retain) UINavigationBar *docNavigationBar;
@property (nonatomic, retain) docViewController *docViewController;
В RootViewController.m я синтезировал дополнения:
@synthesize docNavigationBar;
@synthesize docViewController;
Я импортирую свой файл .h в RootViewController.m:
#import "docViewController.h"
Когда я пытаюсь скомпилировать, у меня выходит ошибка с:
RootViewController.m:22: error: syntax error before 'docViewController'
Предупреждения:
RootViewController.m:160: warning: property 'docViewController' requires method '-docViewController' to be defined - use @synthesize, @dynamic or provide a method implementation
RootViewController.m:160:предупреждение:свойство 'docViewController' требует определения метода 'setDocViewController:' - используйте @synthesize, @dynamic или предоставьте реализацию метода
Что я пропустил?
Решение
На самом деле, я думаю, он имел в виду поставить docViewController (это новый view controller, верно?).В любом случае, если это то, что вы имели в виду, а не FlipsideViewController, как говорит Эрик, то ваша проблема в том, что вы назвали его так же, как свойство.Плохая идея.Обычное соглашение objective-C заключается в том, чтобы указывать первую букву имен ваших классов в верхнем регистре, затем в нижнем, когда вы используете их в качестве свойств, и т.д.
docViewController *docViewController;
должно быть:
DocViewController *docViewController;
Так это будет работать намного лучше :)
Другие советы
В RootViewController.h выглядит как ваша строка объявления:
docViewController *docViewController;
Должно быть:
FlipsideViewController *docViewController