Я использую синтаксический анализ для извлечения моих изображений и меток и отображения их на виде коллекции. Проблема заключалась в том, что просмотр коллекции загружает все изображения и метки одновременно, делая время загрузки долгое время, и использование памяти было высоким. Я думал, что каждый раз я буду загружать 10 ячеек, однако мне рекомендовалось использовать SDWebImage, чтобы сделать приложение более легким. Однако я не знаю, как реализовать его с помощью синтаксического анализа, используя swift. Я подозревал, что я бы поставил код в этом куске кода нижеРеализация SDWebImage в синтаксисе с использованием Swift
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("newview", forIndexPath: indexPath) as! NewCollectionViewCell
let item = self.votes[indexPath.row]
let gesture = UITapGestureRecognizer(target: self, action: Selector("onDoubleTap:"))
gesture.numberOfTapsRequired = 2
cell.addGestureRecognizer(gesture)
// Display "initial" flag image
var initialThumbnail = UIImage(named: "question")
cell.postsImageView.image = initialThumbnail
// Display the country name
if let user = item["uploader"] as? PFUser{
item.fetchIfNeeded()
cell.userName!.text = user.username
var profileImgFile = user["profilePicture"] as! PFFile
cell.profileImageView.file = profileImgFile
cell.profileImageView.loadInBackground { image, error in
if error == nil {
cell.profileImageView.image = image
}
}
var sexInt = user["sex"] as! Int
var sex: NSString!
if sexInt == 0 {
sex = "M"
}else if sexInt == 1{
sex = "F"
}
var height = user["height"] as! Int
cell.heightSexLabel.text = "\(sex) \(height)cm"
}
if let votesValue = item["votes"] as? Int
{
cell.votesLabel?.text = "\(votesValue)"
}
// Fetch final flag image - if it exists
if let value = item["imageFile"] as? PFFile {
println("Value \(value)")
cell.postsImageView.file = value
cell.postsImageView.loadInBackground({ (image: UIImage?, error: NSError?) -> Void in
if error != nil {
cell.postsImageView.image = image
}
})
}
return cell
}
Я реализованный SDWebImage с использованием Бобы и импортируемым через Bridging заголовок. Есть ли кто-нибудь, кто знает, как реализовать SDWebImage с использованием синтаксиса с помощью Swift?
Да, я использую collectionView (_: cellForItemAtIndexPath :) и я знаю, как установить изображение. У меня он полностью работает, но время загрузки слишком длинное и разочаровывающее, так как оно загружает все сразу – Satsuki
Пожалуйста, объясните свое. Как cellForItemAtIndexPath должен быть вызван только для видимых ячеек. Вы уверены, что просмотр коллекции загружает все ячейки сразу? – shannoga
да .. но мне не нужны фантастические анимации, пожалуйста, перечитайте мой q uestion.Я мог бы показать свой cellForItemAtIndexPath, если его задали – Satsuki