·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> Cell的重用机制

Cell的重用机制

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23
 static NSString *resuseId=@"cell";
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:resuseId];
    if (!cell)
    {
        cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:resuseId];
    }
     当tableView初次加载时,系统会每次进入到cellforRow方法。并且会优先向重用队列中取Cell。如果存在resuseId=@"cell"的Cell时,系统就不会再开辟空间创建Cell了。由于是首次加载,肯定不存在Cell,所以系统会开辟空间创建10个Cell(假如一个屏幕正好可以看见10个Cell)。那么当用户向上滑动时,最上方的Cell还没有划出(滑出的话,系统不会销毁Cell 而是根据resuseId将其放入重用队列),但是新的Cell已经需要被显示了,所以新的Cell在重用队列中找不到可重用的Cell,只能再次创建。如果用户继续向上滑动,第一个Cell滚粗屏幕并加入重用队列,新进来的Cell 完全显示。当继续滚动时,下一个Cell也要进来了,但是此时重用队列中已经有可从用的Cell了,所以这个Cell不需要再开辟空间了,只需要将可从用Cell取出来,修改显示内容即可。