1

好的,这是我的情况...

我的 App Delegate 声明如下:

@interface AppDelegate : NSObject <NSApplicationDelegate>

@property (assign) IBOutlet NSWindow *window;
@property (assign) ppDocumentManager* documentManager;

现在,从我尝试访问的不同位置documentManager,如下所示:

AppDelegate* de = (AppDelegate*)[[NSApplication sharedApplication] delegate]; 
ppDocumentManager* docs = [de documentManager];

而且,在文件的顶部,我还添加了@class AppDelegate;以便编译器知道AppDelegate代表什么。

它工作正常。


但是,我不断收到警告:

Instance method '-documentManager' not found (return type defaults to 'id')

我应该怎么做才能消除所有警告?

4

2 回答 2

2

好的,这对我有用:

  • 为了避免循环引用的风险,我决定在文件@class AppDelegate;的开头使用 ..mdocumentManager

然而,事实证明这是没有必要的。

我刚刚导入AppDelegate.h,一切都到位。

呼……

于 2013-02-16T12:47:10.170 回答
0

我遇到了同样的问题,我发现它来自名为“AppDelegate”的 appdelegate,而不是像“MyAppDelegate”这样的自定义名称。

将我的课程重命名为“MyAppDelegate”,导入“MyAppDelegate.h”就成功了。

于 2013-05-03T12:48:18.607 回答