首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重新加载时出现UICollectionViewCell问题?

重新加载时出现UICollectionViewCell问题?
EN

Stack Overflow用户
提问于 2015-09-15 17:08:42
回答 1查看 85关注 0票数 0

我将一些服务器端图像加载到我的UICollectionViewCell中,当我刷新视图时,大约10秒的时间间隔,每个单元格都有错误的图像,直到它们重新调整为正确的图像。

代码语言:javascript
运行
复制
class Book: NSObject {

    var pfBook : PFObject
    var coverImage : UIImage!

    init(pfBook: PFObject) {
        self.pfBook = pfBook
    }

    func fetchCoverImage(completion: (image: UIImage?, error: NSError?) -> Void) {
        let urlString = self.pfBook["bookImage"] as! String
        let request = NSMutableURLRequest(URL: NSURL(string: urlString)!)
        let session = NSURLSession.sharedSession()

        let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
            if error == nil {
                dispatch_async(dispatch_get_main_queue()){
                    self.coverImage = UIImage(data: data!)
                    completion(image: self.coverImage, error: nil)
                }
            }else {
                completion(image: nil, error: error)
                print("error loading cover Image")
            }

        })

        task.resume()
    }   
}

下面是将图像加载到collectionView中的函数,与刷新时调用的函数相同:

代码语言:javascript
运行
复制
// MARK: Load Books Class
    func loadBooks() {

        self.activityIndicator.startAnimating()

        let query = PFQuery(className: "Books")
        query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
            if error == nil {
                self.books.removeAll()
                let bookObjects = objects as [PFObject]!
                for (_, object) in bookObjects.enumerate() {
                    self.books.append(Book(pfBook: object))
                }
           }else if let secondMessage = error?.userInfo["error"] as? String
                where secondMessage == "The Internet connection appears to be offline." {
                    self.failedMessage(secondMessage)
                    self.activityIndicator.hidden = true
                    self.activityIndicator.stopAnimating()
            }
            dispatch_async(dispatch_get_main_queue()){

                  self.collectionView!.reloadData()
                  self.refreshControl.endRefreshing()
                  self.activityIndicator.stopAnimating()
              }
        }
  }

细胞图像的排列只在我刷新的时候发生,而不是在它们最初加载的时候。此行为的原因是什么?有什么建议吗?

EN

Stack Overflow用户

发布于 2015-09-15 17:15:51

使用UICollectionView时会出现此问题。这是UICollectionViewCell的一个标识符问题。因此,请检查您的UICollectionViewCell标识符。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32582052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档