gpt4 book ai didi

objective-c - 战胜 "multiple methods named ' xxx :' found"错误

转载 作者:太空狗 更新时间:2023-10-30 03:09:47 27 4
gpt4 key购买 nike

在文件 ViewController.m 内的当前项目中,我正在运行以下方法:

[[connection writer] writeData: data];

它返回警告:

warning: multiple methods named 'writeData:' found

我正在尝试调用方法:

- (void) writeData: (NSData*)data

...在 TCPWriter.m 中。不幸的是,还有另外两个 writeData 方法

- (void)writeData:(NSData *)data;

...在 NSFileHandle.h 和...

- (BOOL)writeData:(NSData *)data

...在 NSURLHandle.h 中。这让我特别困惑,因为 [conn writer] 应该返回 TCPWriter 类并且该类应该调用正确的 writeData 方法。此外,我什至不能完全确定 NSFileHandle.h 和 NSURLHandle.h 是否包含在 ViewController.h 中的任何库中,而不是项目的不同部分。

我如何向编译器显示我想调用哪个 writeData 方法以及为什么会发生此错误?

最佳答案

确保 [connection writer] 实际上返回一个 TCPWriter*。如果它返回一个 id,那么编译器将不知道使用哪个 writeData。此外,请确保您正在导入 TCPWriter.h 文件 - 如果编译器没有看到头文件,它将默认返回 id,这将使您回到同样的问题。

尝试

TCPWriter* writer = [connection writer];
[writer writeData: data];

[(TCPWriter*)[connection writer] writeData: data];

关于objective-c - 战胜 "multiple methods named ' xxx :' found"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1038171/

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