分类实现显示可能的问题

| 我有一个类Class,该类具有私有类别(@interface类(私有))。该类别有一个名为\“-run \”的方法。 但是,当XCode显示[classInstance run]时; \“可能不响应-run \”。我不确定为什么会这样。该方法运行良好,并在与实际类相同的.m文件中声明。就在实际的类实现之上。 有什么想法我做错了吗? 这是我的整个.m文件。我知道它目前正在扩展NSArray,但是我这样做是为了显示没有任何其他.h依赖项的示例。
#import <Foundation/Foundation.h>
@implementation NSArray (Private)

-(void)runMethod {}

@end

@implementation NSArray

- (void)letsPlay {
    [self runMethod]; // says -runMethod might be missing
}

@end
    
已邀请:
        只要编译器在调用方法之前先看到方法
run
的声明,您就不会看到该错误。 通常,私有类别的完成方式如下:
#import \"M.h\"
@interface M(PrivateGunk)
.... declarations here ...
@end

@implementation M
@end

@implementation M(PrivateGunk)
.... impl here ...
@end
尽管我们中的许多人已经将私有内容保留在文件顶部的类扩展中,这也允许使用@ properties,ivars等。     

要回复问题请先登录注册