2017-11-03 14 views

答えて

0

あなたはMRCの下に警告含まれていませんでした:

Class method '+gotoTest' not found (return type defaults to 'id')

を、これは重要な手がかりが含まれている - コンパイラが戻り値の型を探しています。 MRCの下ではidと仮定し、結果をオブジェクト参照として割り当てることができます。あなたが混乱し、戻り値の型が例えばfloatなら、事態はおそらく間違っています。

ARCでは、返された値のメモリ管理を行うのはコンパイラジョブであり、これを正しく行うには、その型が必要です。したがって、戻り値の型を判別できない場合は、エラーが発生します。

あなたのコードフラグメントは、セレクタが引数を取らず値も返さないことを示しているので、そのように宣言します。メソッドを持つクラスがない場合は、次のようなプロトコルを使用できます。

となります。コンパイラは型を認識し、コードはARCでコンパイルされます。

HTH

関連する問題