あるビューから別のビューに通知を送信しています。私の問題は、私のcellForRowAtIndexPathメソッドで呼び出すビューの通知は、tableviewがスクロールしているときにのみ送られることです。これをやめて画像をダウンロードしたら通知を送信するにはどうすればいいですか?ここに私のコードは次のとおりです。https://gist.github.com/756302NSNotifcationとAsynchronous Downloadingのヘルプ
おかげ
のmkdev
あるビューから別のビューに通知を送信しています。私の問題は、私のcellForRowAtIndexPathメソッドで呼び出すビューの通知は、tableviewがスクロールしているときにのみ送られることです。これをやめて画像をダウンロードしたら通知を送信するにはどうすればいいですか?ここに私のコードは次のとおりです。https://gist.github.com/756302NSNotifcationとAsynchronous Downloadingのヘルプ
おかげ
のmkdev
にはポスト方法はありませんあなたのコードを理解する限り、メッセージはテーブル全体の再読み込みをトリガーします。それは細胞のリフレッシュにつながるはずです。
したがって、仕上げメッセージからリロードがトリガーされたため(イメージが表示されるようになったため)、または非同期のセルを開始する必要がある場合に、セルが描画されているかどうかをチェックする必要があります画像のダウンロード。
これを確認するために私の心に来る最初の事はreloadTableViewにプロパティを設定することです:
- (void)reloadTableView
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"aaa"];
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"name" object:nil];
NSLog(@"removeobserver");
loadImageFinished = YES;
// if your table has several sections you'll need to adopt the section number
NSIndexSet *indices = [[NSIndexSet alloc] initWithIndex:0];
[self.tableView reloadSections:indices withRowAnimation:UITableViewRowAnimationFade];
[indices release];
}
をして、他の理由があるかもしれない
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
if (loadImageFinished) {
...
} else {
[asyncImage loadImageFromURL:[NSURL URLWithString:pathImage]];
}
...
}
ノートに追加しますテーブルがリロードされています - ビューが消えたり、アンロードされたりして、あなたのasynnchronousローディングを数回トリガしたくないかもしれません。
私の問題は、画像がダウンロードされたときにtableViewがリロードされないということです。 tableViewは、スクロール時にのみリロードされます。あなたはそれをどうやって解決するか考えていますか? – MKDev
あなたは 'reloadTableView'が間に呼び出されていると確信していますか?私は再びコードを修正しました - reloadDataを置き換えました。このトランジションでは、編集するために別のセルスタイルに切り替えるためにコード内で使用します。 – Axel
reloadTableViewは、tableviewがスクロールされるときにのみ呼び出されます。 – MKDev
あなたのコードが正しく動作する必要があり、connectionDidFinishLoading
は、あなたが通知を送信するためにNSNotificationCenter
を呼び出すとき、cellForRowAtIndexPath
ああ。基本的に、tableViewは、connectDidFinishLoadingのときにリロードする必要があるので、asyncViewからrootviewcontrollerに通知を送信して、tableViewをリロードするように指示していました。テーブルビューがスクロールされるまで待たなくても、どうすればこのことができるのか教えてください。 – MKDev
xcodeは単なるIDEであり、この質問とは関係ありません。 – vikingosegundo