(SIGSEGV)」が発生してアプリがクラッシュした。available.どうやらXcodeのデバッグ環境では3000回以上の再帰を繰り返すと、無限ループとみなされてしまうらしい。overflowが発生しやすくなっているのだろうか。対処方法ケースによって対応方法が異なる。最適化を意識するを参考にすると良い。無限ループの場合super指定で呼ぶべきメソッドをselfで呼び出していたりすると無限ループの原因になる。独自定義のプロパティは直接インスタンス変数を更新しなければならない。OK}Swiftの場合も同じ。意図的に再帰処理を書いている場合は少し厄介。リリースビルドであれば強制的にクラッシュすることは少ないので、どうしても巨大データによる再帰処理をテストしたいような場合には、一時的に以下の手順でリリースビルドに切り替えると良い。[Release]根本的な問題への対処たとえ3000回以上の再帰が可能になったとしても、限界はある。Objective-Cの再帰的なメソッド呼び出しは最適化が効かないため、いずれどこかでスタックオーバーフローの問題と遭遇することになる。対応策1この問題に対処するためには、再帰呼び出しによる処理を廃止し、for文やwhileによる単純なループ処理に置き換えると良い。対応策2または以下のコードのように、C言語関数をラップする形をとる方法もある。Function(v);}最適化ビルド時にはFunction関数の再帰処理が単純なループ処理に置き換わる可能性が生まれるため、場合によってはスタックオーバーフローの問題を回避出来る。最適化を意識する以下のように関数の再帰呼出しが処理の最終ステップで行われていると、最適化の恩恵を受けられる可能性がある。再帰呼び出し}以下のように、再帰呼び出し後に余計な処理が行われていると、最適化の対象にならず、先程のスタックオーバーフローの問題にも繋がる。