0

あるビューから別のビューに通知を送信しています。私の問題は、私のcellForRowAtIndexPathメソッドで呼び出すビューの通知は、tableviewがスクロールしているときにのみ送られることです。これをやめて画像をダウンロードしたら通知を送信するにはどうすればいいですか?ここに私のコードは次のとおりです。https://gist.github.com/756302NSNotifcationとAsynchronous Downloadingのヘルプ

おかげ

のmkdev

+0

xcodeは単なるIDEであり、この質問とは関係ありません。 – vikingosegundo

答えて

0

にはポスト方法はありませんあなたのコードを理解する限り、メッセージはテーブル全体の再読み込みをトリガーします。それは細胞のリフレッシュにつながるはずです。

したがって、仕上げメッセージからリロードがトリガーされたため(イメージが表示されるようになったため)、または非同期のセルを開始する必要がある場合に、セルが描画されているかどうかをチェックする必要があります画像のダウンロード。

これを確認するために私の心に来る最初の事は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ローディングを数回トリガしたくないかもしれません。

+0

私の問題は、画像がダウンロードされたときにtableViewがリロードされないということです。 tableViewは、スクロール時にのみリロードされます。あなたはそれをどうやって解決するか考えていますか? – MKDev

+0

あなたは 'reloadTableView'が間に呼び出されていると確信していますか?私は再びコードを修正しました - reloadDataを置き換えました。このトランジションでは、編集するために別のセルスタイルに切り替えるためにコード内で使用します。 – Axel

+0

reloadTableViewは、tableviewがスクロールされるときにのみ呼び出されます。 – MKDev

0

あなたのコードが正しく動作する必要があり、connectionDidFinishLoadingは、あなたが通知を送信するためにNSNotificationCenterを呼び出すとき、cellForRowAtIndexPath

+0

ああ。基本的に、tableViewは、connectDidFinishLoadingのときにリロードする必要があるので、asyncViewからrootviewcontrollerに通知を送信して、tableViewをリロードするように指示していました。テーブルビューがスクロールされるまで待たなくても、どうすればこのことができるのか教えてください。 – MKDev

関連する問題