0

私は学校のプロジェクトに取り組んでおり、ユーザーが何かを送信した場合に NSURLConnection との接続を実際に更新する方法があるかどうか疑問に思っていました。たとえば、ユーザー名に基づいて Twitter 検索を行っており、ビューの読み込み時にデフォルトのユーザー名を設定しています。ユーザーがそのページで別のユーザー名を入力したときにその接続を更新するにはどうすればよいですか? ボタン ハンドラーをすべてセットアップし、viewDidLoad 関数と同じコードを使用しています。実際に接続をリセットするメソッド呼び出しまたは何かがありますか?

ありがとう、

デビッド

4

2 に答える 2

0

サンプルコードを添付しました

// member variable 'conn'
// NSURLConnection *conn;
// @property(strong, nonatomic) NSURLConnection *conn;
-(void)viewDidLoad {
  [super viewDidLoad];
  [self sendRequest];
}
- (IBAction)sendButtonClicked {
  [self sendRequest];
}
- (void)sendRequest {
  if (self.conn) {
    [self.conn cancel];
    self.conn = nil;
  }
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]];
    NSURLConnection *conn = [NSURLConnection connectionWithRequest:request delegate:self];
    self.conn = conn;
    [conn start];

} 
// NSURLConnection Delegates
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
   // append received data
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
   // error handling
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
   // using data
}
于 2013-02-25T03:34:05.363 に答える
0

接続を「リセット」することはできないと思います。新しいリクエストを作成する必要があります。ボタンをクリックしたメソッドでは、新しいユーザー名で新しいリクエスト呼び出しを行うだけです。ブラウザがWebサーバーに新しいリクエストを送信するURLのパラメータを変更すると、ブラウザのリクエストのように機能します。

Appleによるこの例を見てください(キャッシュ部分が必要ない場合は、URLCacheConnection.h/.mに注目してください)http://developer.apple.com/library/ios/#samplecode/URLCache/Listings/Classes_URLCacheController_m.html #//apple_ref/doc/uid/DTS40008061-Classes_URLCacheController_m-DontLinkElementID_10 i

于 2013-02-25T03:36:12.287 に答える