好的,这是我的情况......
我的应用代表声明如下:
@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')
为了消除所有警告,我该怎么做?
答案 0 :(得分:2)
好的,这对我有用:
@class AppDelegate;
的{{1}}文件的开头使用.m
,以避免循环引用的风险。但事实证明这不是必要的。
我刚刚导入了documentManager
,一切都已到位。
... Pheww
答案 1 :(得分:0)
我有同样的问题,我发现它来自于名为“AppDelegate”的appdelegate,而不是像“MyAppDelegate”这样的自定义名称。
将我的类重命名为“MyAppDelegate”,导入到“MyAppDelegate.h”就成了伎俩。