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 была ошибка. Это решило проблему, которая у меня была.

Другие вопросы по тегам