在浏览使用基于导航的应用程序的教程时,我决定使用我的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://stackoverflow.com/questions/10113669/xcode-4-3-2-gives-error-cannot-use-super-because-it-is- a-root-class)他们说原因可能是控制器是开发人员忘记了@interface
行中的超类。这不符合我的情况,因为我(或更好:Xcode 3.2.6)没有忘记RootViewController.h
中的超类......
#import <UIKit/UIKit.h>
@interface RootViewController : UITableViewController {
}
@end
现在,我评论了这些关键线并且它工作正常,但我确定,我需要这些线,因为m文件中的大多数自动创建的线都是用[super .... ]
如何解决问题?
答案 0 :(得分:4)
我的解决方案更简单。 .m文件中的#import“ClassHere.h”中存在拼写错误。这解决了我遇到的问题。
答案 1 :(得分:2)
清洁。这是“运行”下的一个选项。它会删除自动生成的所有构建文件。