私は Xcode iOS 開発に本当に慣れていません。
「オートコンプリート」を使用して検索を実装しています(ユーザーが挿入した文字ごとにサーバーにリクエストを非同期に送信し、この接続により、サーバーから要求されたデータを取得しています)。この部分はかなりうまく機能します:)
私の問題は、テーブルビューで検索結果を表すことです。私はたくさんグーグル検索しましたが、私に役立つ良い例を見つけることができませんでした。tableViewが初めて描画するときはすべて問題ありませんが、別のリクエストをフェッチすると:(2番目のキーが押されると、リクエストは新しいデータを返し、以前のデータなしでテーブルに描画したい)。
「不正なセレクターがインスタンス 0x に送信されました...」という例外でアプリケーションがクラッシュします。
取得したデータを NSArray *FetchedData; に格納しています。その後、私は変更しました:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection: (NSInteger)section
{
return [FetchedData count];
}
そして他の機能で(ここで何かを変更する必要があると思いますが、何を知らないのですか)。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath
{
cell.cellName.text = (NSString*)[FetchedData objectAtIndex:indexPath.row];
return cell;
}
FetchedData を取得したら、次の関数を呼び出します。 [self.tableView reloadData];
しかし、上記の関数では、以前とは異なる次のフェッチされたデータを表現しようとした後にクラッシュしています (空の場合もあります)。
以前のセルをすべて削除する必要があると思いますが、その方法がわかりません。
基本的な説明でまともな例を教えてください。
ありがとう。