RootViewController не может использовать 'super', потому что это корневой класс
Проходя учебник, в котором используется приложение на основе навигации, я решил создать приложение на основе навигации с моим 3.2.6-Xcode и открыть его с помощью Xcode 4.2, чтобы следовать учебнику с этой версией. Но когда я открываю тот же проект в Xcode 4.2 (без изменения или добавления какого-либо кода), 4.2 Xcode дает мне 2 ошибки, говорящие:
RootViewController не может использовать 'super', потому что это корневой класс
Прямо сейчас мой XCode имеет 4 файла классов: RootViewController.h, RootViewController.m, SaveUpAppDelegate.h и SaveUpAppDelegate.m. Ошибка в RootViewController.m
:
- (void)dealloc {
[super dealloc];
}
а также
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Relinquish ownership any cached data, images, etc that aren't in use.
}
Я уже искал в интернете и нашел это обсуждение (http://stackru.com/questions/10113669/xcode-4-3-2-gives-error-cannot-use-super-because-it-is-a-root-класс), и они говорят, что причина может заключаться в том, что контроллер в том, что разработчик забыл суперкласс в @interface
линия. Это не подходит для моего случая, потому что я (или лучше: Xcode 3.2.6) не забыл суперкласс в RootViewController.h
...
#import <UIKit/UIKit.h>
@interface RootViewController : UITableViewController {
}
@end
прямо сейчас я прокомментировал эти критические строки, и они отлично работают, но я уверен, что мне понадобятся эти строки, так как большинство автоматически созданных строк в m-файле выполняется с помощью [super ....].
Как решить проблему?
2 ответа
Clean. Это опция в разделе "Выполнить". Он удаляет все файлы сборки, которые генерируются автоматически.
Мое разрешение было более простым. В файле #import "ClassHere.h" в файле.m была ошибка. Это решило проблему, которая у меня была.