在使用基於導航的應用程序的教程時,我決定用我的3.2.6-Xcode創建一個基於導航的應用程序,並用Xcode 4.2打開它用於跟隨該版本的教程。 但是當我打開的Xcode 4.2同一項目(不改變或添加任何代碼),4.2的Xcode給了我2個錯誤說:因爲它是一個根類RootViewController無法使用'super',因爲它是根類
RootViewController的不能使用「超級」
現在,我的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-given-error-can-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 ....]完成的,所以我需要這些行。
如何解決問題?
您是否嘗試清潔項目? – DrummerB
對於這個愚蠢的問題感到抱歉,但是您對「清理」項目有何意義?刪除/註釋掉所有自動創建的代碼? - 如果你的意思是:是的。我評論了關鍵代碼,現在它工作正常。但是我不確定在教程中是否需要這個超級代碼。這就是爲什麼我問是否有另一種解決方案,或者「超級」可以被其他解決方案取代。 – Kirinriki
您使用ARC(自動引用計數)嗎? – CarlJ