Xcode CodeSense错误 - 在类型对象上找不到属性,但项目编译

时间:2014-10-23 18:39:28

标签: ios xcode objective-c-category precompiled-headers associated-object

我的.pch文件中有这个:

#import "UIViewController+Loader.h"

该类别的实施如下:

static char kUIViewControllerBaseViewKey;

@implementation UIViewController (Loader)

- (void)setLoader:(LoaderView *)loaderView {
    objc_setAssociatedObject(self, &kUIViewControllerBaseViewKey, loaderView, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

- (LoaderView *)loader {
    LoaderView *loaderView = (LoaderView *)objc_getAssociatedObject(self, &kUIViewControllerBaseViewKey);
    if (!loaderView) {
        loaderView = [[LoaderView alloc] initWithView:self.view];
        [self.view addSubview:loaderView];
        [self setLoader:loaderView];
    }
    return loaderView;
}

@end

问题在于,当我这样做时,在任何视图控制器中:

[self.loaderView doSomething];

Xcode显示此错误:Property 'loaderView' not found on object of type MyViewController

但是,项目编译得很好,而且在loaderView上的doSomething:方法运行正常。如何让Xcode停止显示这些错误?

1 个答案:

答案 0 :(得分:0)

经过多次刮擦后,我发现了一个名为"增加预编译标题共享的构建设置"。将此更改为YES会使问题消失。在阅读了这些内容的描述后,我仍然不明白为什么这样可以解决问题。但它已经修好了。