gpt4 book ai didi

objective-c - 找不到实例方法警告,但工作

转载 作者:行者123 更新时间:2023-12-04 04:50:14 25 4
gpt4 key购买 nike

在我的实现模型中,我需要一些不同的文件,以及一些类似的方法。另外,我在 NSMutableArray 中收集了不同类型的对象。 ,并尝试像这样调用我的类似方法:

[[ArrayOfViews objectAtIndex:i] myMethodWithInt:'number' andExample:'char'];

但它给了我一个警告:
Instance method '...' not found (return type defaults to 'id')

我的代码有效,但我应该修复这个警告吗?

最佳答案

您应该介绍类型:

MONType * obj = [ArrayOfViews objectAtIndex:i];

然后使用类型化变量调用该方法:
[obj myMethodWithInt:<#number#> andExample:<#char#>];

它可能出于多种原因而提示。引入该类型将解决这些类别的问题,或者至少给您一个更有用的警告。具体来说, 编译器看不到实例方法的声明 -myMethodWithInt:andExample: .

您可能没有导入标题,或者声明了该方法以便它在翻译中可见。

My code works, but should I must fix this warning or not ?



也许。有时它会“工作”。这相当于 C89 缺少函数原型(prototype),由于它们引起的所有问题而被逐步淘汰。因此,如果参数和返回类型为 id,则隐式参数和返回类型可以工作。兼容(包括 NSObject 子类)。但如果它不匹配,那么您应该期待未定义的行为。您可以避免所有这些并通过在程序中使用适当的导入和声明以及引入如上所示的类型来引入有意义的类型检查。这很有用,因为编译器会在您工作和代码库发展时使您免于大量愚蠢的错误。

关于objective-c - 找不到实例方法警告,但工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17556768/

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