Aviad Ben Dovとrkbangは、役に立つアドバイスを提供しています。それに加えて:
「詳細表示」セルのタッチに応答するには、UITableView
の代理人であるいずれのオブジェクトにもtableView:willSelectRowAtIndexPath:
メソッド(UITableViewDelegate
プロトコル)を書き込みます。この方法では、より多くのデータをロードするために電話をかけると、(より多くのボタンのような振る舞いである)行が選択されたままにしないので、nil
を返す:あなたのロード機能で
- (NSIndexPath *)tableView:(UITableView *)tableView
willSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self loadMoreData];
return nil; // Don't leave this row selected.
}
、取得するには、サーバーの呼び出しを行いますデータを解析し、テーブルをリロードします。 、私は何でもあなたのクラスにそのデータをサーバの応答を解析して追加する方法parseIntoDataSource
を想定してい
#import "HTTPHelper.h"
// ... later ...
- (void) loadMoreData {
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
NSString* dataStr = nil;
NSError* error = [[HTTPHelper sharedInstance]
synchronousGetURLAsString:@"http://server.com/mystuff"
replyData:&dataStr];
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
if (error) {
[self displayErrorMessage:error];
} else {
[self parseIntoDataSource:dataStr];
[tableView reloadData];
}
}
この最後の関数で:あなたはサーバの応答を待っている間、それは忙しい指標を与えることも丁寧ですtableView:cellForRowAtIndexPath:
メソッド(UITableViewDataSource
プロトコルの)によって与えられるテーブルセルのデータを提供するために使用します。
このコードでもHTTPHelper
からthe moriarty libraryを使用しています。
XMLを解析する場合は、SDK独自のNSXMLParser
を使用できます。 The TouchXML libraryも利用可能で、少し汚れたデータ(通常はXML標準に準拠していない現実のhtmlのような)を少し強固にサポートしています。JSONを解析するには、the json-frameworkを使用できます。これには、カテゴリベースのインターフェイスが非常に簡単です。
tableViewを使用する正当な理由はありますか?willSelectRowAtIndexPath:tableView:didSelectRowAtIndexPath :? –