1

出于某种原因,尽管我正在返回一个值,但我还是从 Xcode 收到了许多“控制到达非空函数结束”警告。我在两个函数中收到警告(如下图所示)。在第一个函数中,我调用return [super init]并且返回类型是id,所以我不明白为什么会收到该警告。在第二个函数中,返回类型为 void,警告指定错误发生在非 void函数中。基本上,我想知道我是否犯了一些我不知道的错误,或者 Xcode 是否只是在表现错误。

在此处输入图像描述

4

2 回答 2

1

[按照问题作者的建议发布为答案,并提供更多信息]

在大多数情况下,仅运行项目会导致编译器重新生成自上次构建以来受到影响的链接器文件,有时它并不完美,这就是导致这些错误的原因。

要解决此问题,只需清理您的项目(Product -> Clean 或 Command-Shift-K),然后运行您的项目。这会导致任何先前生成的链接器文件被破坏(不是问题)并从头开始重新生成。构建将比仅仅运行项目花费更长的时间,因为它需要构建和链接每个类,而不是仅仅在运行时更改的类

于 2012-08-22T17:54:30.287 回答
1

我真的看不出有什么问题。尝试清理并再次构建。也[super init]应该始终保存在 self 中,如下所示:

self = [super init];
于 2012-08-22T15:44:57.193 回答