未找到实例方法 - 适用于App Delegate属性

时间:2013-02-16 12:35:22

标签: objective-c cocoa warnings appdelegate

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

我的应用代表声明如下:

@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')

为了消除所有警告,我该怎么做?

2 个答案:

答案 0 :(得分:2)

好的,这对我有用:

  • 我决定在使用@class AppDelegate;的{​​{1}}文件的开头使用.m,以避免循环引用的风险。

但事实证明这不是必要的。

我刚刚导入了documentManager,一切都已到位。

... Pheww

答案 1 :(得分:0)

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

将我的类重命名为“MyAppDelegate”,导入到“MyAppDelegate.h”就成了伎俩。