我有这样一段代码:目标C - 编译错误“的方法重复申报”
- (id) getSearchSuggestions:(NSString*)q;
- (NSOperationQueue*) getSearchSuggestions:(NSString*)q callback:(id<UserDelegate>)callback;
- (id) getSearchSuggestions;
- (NSOperationQueue*) getSearchSuggestions:(id<UserDelegate>)callback;
我的Xcode一直显示我在最后行错误:
Duplicate declaration of method "getSearchSuggestions"
为什么?在我看来,签名是完全不同的。
实际上,所有对象指针都是'id'并不重要。错误发生是因为选择器,它不代表整个签名 - 特别是,它不代表类型。如果它是'float'而不是'NSString *',则会发生同样的错误。 – 2011-09-10 20:09:13
好点。我专注于OP对签名的评论,而不是实际的错误消息。他的例子有相同的签名,而采用'float'会有不同的签名(尽管仍然是一个冲突的选择器)。 –