'assign'を使用する方が良いことは知っていますが、retainを使用する方が良い場合に備えています。
RKRequestオブジェクトを作成してWebサービスを呼び出します。
RKRequest *request = [[RKClient sharedClient] get:urlString delegate:self];
リクエストオブジェクト自体はシングルトンリクエストキューによって保持および管理されるため、リクエストオブジェクトは気にせず、デリゲートメソッドのみを気にします。
リクエスト結果を処理するメソッドがあります。
これらのコードはUIViewControllerにあり、ViewController自体がデリゲートです。
要求の処理中にビューコントローラがdeallocになると、デッドポインタであるRKRequest呼び出しデリゲートとプログラムがクラッシュします。
したがって、ビューコントローラがdeallocの場合、RKRequestを保持し、nilをデリゲートに割り当てる必要があります。
さらに、リクエストが成功または失敗したときにRKRequestを解放する必要があります。
しかし、RKRequestが「保持」ポインターとしてデリゲートポインターを持っているとは思わないのですが、どうすればこれらのオブジェクトを美しく管理できますか?