2010-02-01 28 views
1

出於某種原因,我無法訪問該視圖作爲屬性屬性僅通過消息傳遞(目標c)

MyAppDelegate *APPDELEGATE=((MexicanWaveAppDelegate*)[[UIApplication sharedApplication] delegate]); 
[APPDELEGATE.viewController view]; 
APPDELEGATE.viewController.view; //Accessing unknown 'view' component of a property 

我已經能夠訪問視圖作爲其他視圖控制器一個屬性進行訪問,這是一個文檔中的屬性。你能解釋這種行爲嗎?

回答

0

問題實際上造成對於MexicanWaveAppDelegate(MexicanWaveAppDelegate.h)報頭因爲我的應用程序代理.h文件(MexicanWaveAppDelegate.h)未包含有關視圖控制器(MexicanWaveViewController)的類型的信息。這意味着任何導入MexicanWaveAppDelegate.h的類都將其MexicanWaveViewController屬性設置爲「不透明類型」(不知道信息的類型)。

這個問題可以通過以下任一方式改變MexicanWaveAppDelegate.h解決:

  • 導入 「MexicanWaveViewController.h」
  • 提供正向聲明MexicanWaveViewController
1

要麼APPDELEGATE.viewController不是類型的UIViewController(或派生類),或者不包括

+0

它實際上WASN」這些都是,但你的回答是非常有幫助的 – Casebash 2010-02-01 22:23:05