1
Я использую рамки: UIImageView + AFNetworking - Код здесь: http://pastebin.com/cyzSaxshsetImageWithUrl от Parse.com к UICollectionView
Это, как я запрос от Parse.com:
func queryFromParse(){
var query = PFQuery(className: "currentUploads")
query.orderByDescending("createdAt")
query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
if error == nil
{
if let newObjects = objects as? [PFObject] {
for oneobject in newObjects {
let text = oneobject["imageText"] as! String
let username = oneobject["username"] as! String
let time = oneobject.createdAt!
if let userImage = oneobject["imageFile"] as? PFFile {
let userImage = oneobject["imageFile"] as! PFFile
let imageURL = userImage.url // <- Bruker nå userImage.URL, henter ikke bildefilen med en gang
var OneBigObject = Details(username: username, text: text, CreatedAt: time, image: imageURL!)
self.arrayOfDetails.append(OneBigObject)
dispatch_async(dispatch_get_main_queue()) { self.collectionView.reloadData() }
}
}
}
}
}
}
А это мой " cellForItemAtIndexPath ":
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
{
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! CollectionViewCell
cell.layer.borderWidth = 0.5
cell.layer.cornerRadius = 3
var myColor : UIColor = UIColor(red: 0.0, green: 0.0, blue:0.0, alpha: 0.15)
cell.layer.borderColor = myColor.CGColor
var post = self.arrayOfDetails[indexPath.row]
cell.currentUserLabel.text = post.username
cell.imageText.text = post.text
cell.uploadedTimeLabel.text = post.CreatedAt.timeAgo
dispatch_async(dispatch_get_main_queue()) { cell.ImageView.setImageWithUrl(NSURL(string: post.image)!, placeHolderImage: UIImage(named: "Placeholder")) }
return cell
}
У меня возникли проблемы. Изображения занимают 10-20 секунд для загрузки, и у меня есть только 10 изображений в Parse. Вот как это выглядит через 5 секунд:
Любые предложения здесь?
Обновлено моего ответа. Также рассмотрите кеширование ваших изображений после повторного использования ваших ячеек, этот код пытается загрузить изображение снова. Возможно, вы захотите использовать [AlamofireImage] (https://github.com/Alamofire/AlamofireImage) – ridvankucuk
Что я могу вставить «request request: NSURLRequest = NSURLRequest (URL: imgURL)» «imgURL»? –