gpt4 book ai didi

objective-c - Objective C - "Duplicate declaration of method"编译错误

转载 作者:行者123 更新时间:2023-12-04 00:09:31 24 4
gpt4 key购买 nike

我有这段代码:

- (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) getSearchSuggestions:(NSString*)q;

与此签名相同:

- (NSOperationQueue*) getSearchSuggestions:(id<UserDelegate>)callback;

所有对象指针都是id。所以这两个都是接受一个对象并返回一个对象的方法。

更好的名字的例子是:

- (id)searchSuggestionsForQueryString:(NSString*)q; // Or ForTag, or whatever "q" is
- (NSOperationQueue*)searchOperationQueueForQuery:(NSString*)q callback:(id<UserDelegate>)callback;
- (id)fetchSearchSuggestions;
- (NSOperationQueue*)searchOperationQueueWithCallback:(id<UserDelegate>)callback;

不清楚为什么要在这里返回操作队列,但这是您为实现该操作的方法使用的名称。

关于objective-c - Objective C - "Duplicate declaration of method"编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7374277/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com