第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么我刷兩下以后,Cell里的圖片又亂掉了?什么情況啊

為什么我刷兩下以后,Cell里的圖片又亂掉了?什么情況啊

iOS
斯蒂芬大帝 2023-04-14 12:14:23
我有一個(gè)TableView的界面,是一個(gè)列表頁(yè),只有一個(gè)Section,每一個(gè)Cell里都有一張圖片是從服務(wù)器異步加載的。我用ASIHttpRequest去加載圖片,在每個(gè)Request里已經(jīng)通過(guò)UserInfo帶上了這個(gè)Cell的NSIndexPath.row,然后回調(diào)的時(shí)候,就按照這個(gè)NSIndexPath去更新Cell的默認(rèn)占位圖片。但是,我發(fā)現(xiàn)刷兩下以后,Cell里的圖片又亂掉了。貌似我NSIndexPath.row沒用一樣的,有沒有人也遇到過(guò)一樣的問題啊。完整代碼太復(fù)雜,把涉及到網(wǎng)絡(luò)的代碼貼一下-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{// ...     [self loadImageWithURL:[self.dataSource objectAtIndex:indexPath.row]                      index:indexPath.row]; // 這是我自己定義的一個(gè)方法// ...} - (void)loadImageWithURL:(NSString *)aURL index:(NSInteger)anIndex {     ASIHTTPRequest *asiRequest = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:aURL]];     asiRequest.delegate = self;     asiRequest.userInfo = [NSDictionary dictionaryWithObjectsAndKeys:                             [NSString stringWithFormat:@"%d", anIndex],                            @"index",                            nil];     asiRequest.requestMethod = @"GET";     [asiRequest startAsynchronous]; } - (void)requestFinished:(ASIHTTPRequest*)request {    NSInteger index = [[request.userInfo objectForKey:@"index"] intValue];    UITableViewCell *cell = [tableView cellForRowAtIndexPath:                                 [NSIndexPath indexPathForRow:index                                                    inSection:0]];     cell.imageView.image = [UIImage imageWithData:request.responseData];}
查看完整描述

2 回答

?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊

UITableView 對(duì) cell 會(huì)有重用機(jī)制,以保證較少的內(nèi)存使用。而帶來(lái)的問題是,如果代碼寫得不仔細(xì),可能會(huì)導(dǎo)致某行 cell 的內(nèi)容出現(xiàn)在另一行。

把 cellForRowAtIndexPath 的完整代碼貼出來(lái)吧。


查看完整回答
反對(duì) 回復(fù) 2023-04-17
?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊

這個(gè)問題我曾經(jīng)也遇到過(guò),我的解決方案是:在每一個(gè)ImageView的對(duì)象中記錄該圖片的URL,當(dāng)異步請(qǐng)求回調(diào),要展示圖片的時(shí)候,先檢查URL是否一致,如果不一致,就先把請(qǐng)求下來(lái)的圖片丟進(jìn)緩存。

查看完整回答
反對(duì) 回復(fù) 2023-04-17
  • 2 回答
  • 0 關(guān)注
  • 179 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)