مشکل تکرار شدن تصاویر در UITableView , UICollectionView در swift


 10 ماه پیش   1634

خلاصه توضیحات : مشکل تکرار شدن تصاویر در UITableView , UICollectionView در swift که بسیار زیاد در بین تازه کار ای زبان سوئیفت (swift) دیده می شود یک راه حل بسیار ساده دارد , امیدوارم با دیدن مطلب زیر مشکل شما رفع شود.


https://www.marcopace.it/wp-content/uploads/2016/01/swift-logo-800x500.jpg

اصولا وقتی شما از uiTableview یا uiCollectionview استفاده میکنید میخواهید یک لیستی را نمایش دهید. حالا این لیست میتونه شامل مثلا لیست کاربران باشه که تصویر پروفایل کاربریشون هم در هر سلول این tableview یا collectionview باشد , از کد زیر برای نمایش تصاویر هر سلول استفاده می کنید :

 
DispatchQueue.global().async {

                        var img:UIImage? = nil

                        img = EasyDev().GetImageFromURL(url: "https://url.jpg") as! UIImage

                        self.cells[indexPath.row].img = img

                        cell.background_image.image = img

                    }


ولی کد بالا به دلیل اینکه هر دفعه تصویر رو میخواد دانلود کنه در نمایش به این مشکل تکراری بودن و بارگذاری نکردن تصاویر میخورید برای حل این مشکل کافیه فقط زمانی که هر عکس
دانلود شد در یک آرایه آن را ذخیره کنید مثلا با ایندکس همون سلول ذخیره کنید در آرایه و زمانی که کد بالا خواست اجرا بشه قبلش یک if else قرار دهید اگر خوانه ی آرایه با ایندکس indexPath.row مخالف با nil بود پس یعنی عکسی وجود داره دیگه نیاز به دانلودش نیست فقط
cell.background_image.image = array_img[indexPath.row]
رو برابر با img آرایه کنید همین !


اشتراک مطلب در :     |     |     |  

کلمات کلیدی : swift ,مشکل تکرار شدن تصاویر ,سوییفت ,سوئیفت ,UITableView ,UICollectionView ,آموزش های swift ,

ارسال دیدگاه

  
اولین دیدگاه را وارد کنید