2010-02-01 66 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