1

何らかの理由で、値を返しているにもかかわらず、Xcodeから「コントロールが非void関数の終わりに到達しました」という警告を何度も受け取ります。2つの関数で警告が表示されます(下の画像を参照)。最初の関数で呼び出すreturn [super init]と、戻り値のタイプはですid。そのため、なぜその警告が表示されるのかわかりません。2番目の関数では、戻り値の型はvoidであり、警告は、エラーがvoid以外の関数で発生していることを示しています。基本的に、私は自分が気付いていない間違いを犯しているのか、それともXcodeがバグのある動作をしているだけなのか疑問に思っています。

ここに画像の説明を入力してください

4

2 に答える 2

1

あまり問題はありません。クリーンアップして再度ビルドしてみてください。また[super init]、次のように、常に自分自身で保存する必要があります。

self = [super init];
于 2012-08-22T15:44:57.193 に答える
1

[質問の作成者が提案した回答として、もう少し情報を付けて投稿]

ほとんどの場合、プロジェクトを実行するだけで、コンパイラは最後のビルド以降に影響を受けたリンカーファイルを再生成するだけであり、これらのエラーの原因となる完全ではない場合もあります。

解決するには、プロジェクトをクリーンアップし([製品]-> [クリーン]またはCommand-Shift-K)、プロジェクトを実行します。これにより、以前に生成されたリンカーファイルが破棄され(問題はありません)、最初から再生成されます。単に実行を実行したときに変更されたクラスだけではなく、すべてのクラスをビルドしてリンクする必要があるため、ビルドは単にプロジェクトを実行するよりも時間がかかります

于 2012-08-22T17:54:30.287 に答える