UITableViewの最終セルが表示されたら処理をしたい
UITableViewで、一番最後の要素というか一番最後の
UITableViewCellが表示されたら自動的に次のアイテムを取ってくるような
処理を実装したいな、と思ったわけです。
まぁ、このタイミングはパラメータによって調整できるので、
例えば新規追加行数の真ん中辺りまでスクロールしたら次のセルを取り始めるとか
そんな感じの処理もやろうと思えば出来るわけですね。
取りあえず今回私が採用した実装方法は、UITableViewのdelegateを設定している
ソースコードに対して、以下のメソッドを追加するだけ。
-(void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { ...(処理)... }
私の場合は、該当するセルの処理を分岐するために関連付けている
NSMutableArray内の要素にtagを付けて処理分岐していたので、
表示されようとしているセルのtagが一致した場合はAPIを投げるようにしてます。
例えばこれは、indexPath.row >= [dataList count]なんかの判定にしてもいいわけですし
indexPath.row >= [dataList count]-10 とかにすれば、10行くらい前にきたら
次のAPIを呼び出す処理を開始したりってことも出来るわけですよね。多分。