'TileMap'可能无法响应'+ mapNamed:'

Sha*_*man 0 iphone xcode objective-c

这是一个奇怪的.我有一个以TileMap下面的接口命名的类:

@interface TileMap : NSObject
{
    int *data;
    int tilesWide;
    int tilesHigh;
    NSString *imageName;
}

+ (id)mapNamed:(NSString *)filename;
- (id)initWithFile:(NSString *)filename;

@end
Run Code Online (Sandbox Code Playgroud)

实现如下:

@implementation TileMap

+ (id)mapNamed:(NSString *)filename
{
    return [[self alloc] initWithFile:filename];
}

- (id)initWithFile:(NSString *)filename
{
    if (self = [super init])
    {
        // ...
    }
    return self;
}


@end
Run Code Online (Sandbox Code Playgroud)

但是当我[TileMap mapNamed:@"map.plist"];向我的应用程序添加一个调用时,Xcode警告:

'TileMap'可能无法响应'+ mapNamed:'

应用程序编译正常,并记录NSLog内部调用TileMap-initWithFile:.我注意到Xcode的语法着色对于这个类和方法是关闭的,所以我尝试分别重命名类和方法.消除警告和语法着色问题的唯一组合是重命名类和方法.

我是否与一些未记录的框架类或方法发生冲突?在文档中查找不会透露任何内容.在Project中查找仅显示调用,接口定义和实现.我很难过(不是很需要).有没有办法解决这个问题,而没有修改我现有的命名约定?

Dav*_*ong 5

#import有TileMap.h标题吗?你保存了TileMap.h标题吗?