Я использую синтаксический анализ для извлечения моих изображений и меток и отображения их в представлении коллекции. Проблема заключалась в том, что представление коллекции загружает все изображения и метки сразу, что увеличивает время загрузки и высокое использование памяти. Я думал, что буду загружать 10 ячеек каждый раз, однако мне порекомендовали использовать 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 с помощью Pods и импортировал через заголовок моста. Есть ли кто-нибудь, кто знает, как реализовать SDWebImage с разбором с помощью Swift?