2015-11-06 8 views
5

Wenn ein UICollectionView mit einer Menge von Zellen verwenden, die Bilder in ihm hat, erhalte ich diese seltsame Warnung im Protokoll, wenn eine Off-Screen-Zelle zu dem Bildschirm gescrollt wird:<memory> ist keine BOMStorage Datei

2015-11-06 15:50:20.777 MyApp[49415:13109991] [/BuildRoot/Library/Caches/com.apple.xbs/Sources/CoreUI_Sim/CoreUI-370.8/Bom/Storage/BOMStorage.c:517] <memory> is not a BOMStorage file 

Hier ist der Zellaufbau:

import UIKit 

class FeaturedCell: UICollectionViewCell { 

    @IBOutlet weak var imageView: UIImageView! 
    @IBOutlet weak var activityIndicator: UIActivityIndicatorView! 

    private var xml: XMLIndexer? = nil 

    override func awakeFromNib() { 
     super.awakeFromNib() 

     // this enables the parallax type look 
     self.imageView.adjustsImageWhenAncestorFocused = true 
     self.imageView.clipsToBounds = false 
    } 

    func loadImageFromUrlString(str: String) { 
     if let url = NSURL(string: str) { 
      if let data = NSData(contentsOfURL: url){ 
       let image = UIImage(data: data) 
       self.imageView.image = image 

       self.activityIndicator.stopAnimating(); 
      } 
     } 
    } 

    func setXml(xml: XMLIndexer) { 
     self.xml = xml; 

     if let imageUrl: String = (xml["FullAd"].element?.text)! { 
      self.loadImageFromUrlString(imageUrl) 
     } 
    } 

} 
+1

Ich bekomme immer noch diese Warnung. –

+0

@FayzaNawaz versuchen Sie das Bild asynchron zu laden, wenn Sie nicht bereits sind. – Jacksonkr

+0

Bitte bearbeiten Sie Ihre Frage nicht, um die Lösung bereitzustellen. Stellen Sie stattdessen eine Antwort bereit. –

Antwort

3

nach this thread diese Nachricht harmlos ist.

+0

Das ist, was ich zuerst dachte, aber ich habe bemerkt, dass es zu einem Performance-Stutter kommt, wenn ein Bild angezeigt wird. Das Stottern ist ein ~ 1/10-Sekunden-Halt, der nicht bemerkbar wäre, außer dass die Bilder in einem Karussell sind, so dass Sie, anstatt schnell scrollen zu können, immer wieder kurz unterbrochen werden. – Jacksonkr

+0

Durch Versuch und Irrtum habe ich festgestellt, dass die Unterbrechung aufgrund des Ladens des Bildes synchron war, auch wenn es bereits geladen war (was ungerade ist). Auf asynchron und violá geschaltet. – Jacksonkr

+0

Ich lade die Bilder asynchron und bekomme immer noch diese Nachrichten: \. Ich verwende SDWebImage, um die Bilder zu erhalten. –