【发布时间】:2009-12-08 17:30:48
【问题描述】:
这是一个奇怪的问题。我有一个名为TileMap 的类,其接口如下:
@interface TileMap : NSObject
{
int *data;
int tilesWide;
int tilesHigh;
NSString *imageName;
}
+ (id)mapNamed:(NSString *)filename;
- (id)initWithFile:(NSString *)filename;
@end
实现如下所示:
@implementation TileMap
+ (id)mapNamed:(NSString *)filename
{
return [[self alloc] initWithFile:filename];
}
- (id)initWithFile:(NSString *)filename
{
if (self = [super init])
{
// ...
}
return self;
}
@end
但是当我在我的应用程序中添加对[TileMap mapNamed:@"map.plist"]; 的调用时,Xcode 会发出警告:
'TileMap' 可能不会响应'+mapNamed:'
应用程序编译良好,并记录了对TileMap-initWithFile: 内的NSLog 的调用。我注意到此类和方法的 Xcode 语法着色已关闭,因此我尝试分别重命名类和方法。消除警告和语法着色问题的唯一组合是重命名类和方法。
我是否与一些未记录的框架类或方法发生冲突?在文档中查找不会显示任何内容。 Find in Project 只显示调用、接口定义和实现。我很难过(不是说它需要很多)。有没有办法在不改变我现有的命名约定的情况下解决这个问题?
【问题讨论】:
标签: objective-c iphone xcode