0

私はさまざまなソースからいくつかのリクエストを作成しています。このため、次のようなプロパティを追加したいと考えています。その理由は、それぞれの「newsitem」を独自に扱えるようにしたいからです。

私はブロックを初めて使用しますが、これを「その場で」行うのは本当に簡単な方法だと思いますか? ブロック操作内で不可能な場合、操作が完了した後にそれを行う方法について何か提案はありますか?

    // Fetch data from Twitter (json complient)
NSURLRequest *request = [NSURLRequest requestWithURL:urlTwitter];
AFJSONRequestOperation *operation;
operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request
                                                            success:^(NSURLRequest *req, NSHTTPURLResponse *responce, id jsonObject) {
                                                                NSLog(@"Responce: %@",jsonObject);
                                                                self.resultsTwitter = [jsonObject objectForKey:@"results"];
                                                                [self.tableView reloadData];    
                                                            }
                                                            failure:^(NSURLRequest *req, NSHTTPURLResponse *responce, NSError *error, id jsonObject) {
                                                                NSLog(@"Recieved an HTTP %d", responce.statusCode);
                                                                NSLog(@"The error was: %@",error);
                                                            }];

[operation start];
4

2 に答える 2

0

resultsTwitter私はあなたの質問を正しく理解していないかもしれませんが、がである限り、最初に入力された後にNSMutableArrayオブジェクト(この場合はNSDictionary単一のKVPを持つ)を追加できます。

何かのようなもの:

[resultsTwitter addObject:[NSDictionary dictionaryWithObjectsAndKeys:
                            @"twitter", @"newsSource",
                            nil]];

ブロック内でアクセスできる変数をインスタンス化する例:

__block NSString *newssource = @"";

NSURLRequest *request = [NSURLRequest requestWithURL:urlTwitter];
AFJSONRequestOperation *operation;
operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request
                                                            success:^(NSURLRequest *req, NSHTTPURLResponse *responce, id jsonObject) {
                                                                NSLog(@"Responce: %@",jsonObject);
                                                                self.resultsTwitter = [jsonObject objectForKey:@"results"];
                                                                [self.tableView reloadData];
                                                                newssource = @"twitter";


                                                            }
                                                            failure:^(NSURLRequest *req, NSHTTPURLResponse *responce, NSError *error, id jsonObject) {
                                                                NSLog(@"Recieved an HTTP %d", responce.statusCode);
                                                                NSLog(@"The error was: %@",error);
                                                            }];

[operation start];
于 2012-10-22T14:26:57.100 に答える
0

すべてのニュース項目の動作をカプセル化するモデル クラスを作成します。

このパターンは AFNetworking サンプル アプリで使用され、各 App.net 投稿は JSON から初期化されたモデル オブジェクトに対応します。アイテムを表現する手段として、モデル オブジェクトではなく変更可能なディクショナリを使用しないことを強くお勧めします。

于 2012-10-30T06:58:49.303 に答える