ASIHTTPRequest ライブラリを使用して HTTP 要求を開始するメソッド (getAllTeams:) があります。
NSURL *httpURL = [[[NSURL alloc] initWithString:@"/api/teams" relativeToURL:webServiceURL] autorelease];
ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:httpURL] autorelease];
[request setDelegate:self];
[request startAsynchronous];
私ができるようにしたいのは、呼び出し[WebService getAllTeams]
て結果を NSArray に返すことです。現時点では、HTTP 応答が requestFinished: メソッドで評価されるため、getAllTeams は何も返しません。
[WebService getAllTeams]
理想的には、 を呼び出し、応答を待って、それを NSArray にダンプできるようにしたいと考えています。これは使い捨てクラス (値を格納せず、値を取得するだけ) であり、複数のメソッドが同じ requestFinished を使用するため (すべて配列を返す)、プロパティを作成したくありません。
デリゲートと NSNotifications について少し調べましたが、どちらが最善のアプローチであるかはわかりません。セレクターをパラメーターとして渡すことによるコールバックの実装に関するこのスニペットを見つけましたが、うまくいきませんでした (requestFinished が独立して発生するため)。
助言がありますか?正しい方向に向けられるだけでもありがたいです。
NSArray *teams = [[WebService alloc] getAllTeams];
(getAllTeams は何も返さないため、現在は機能しませんが、requestFinished は返すためです。requestFinished の結果を取得し、それを getAllTeams に戻したい:)