Swift <;记忆>;不是BOMStorage文件
当使用Swift <;记忆>;不是BOMStorage文件,swift,tvos,apple-tv,Swift,Tvos,Apple Tv,当使用UICollectionView时,当屏幕外的单元格滚动到屏幕上时,我会在日志中收到以下奇怪的警告: 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 根据这条消息
UICollectionView
时,当屏幕外的单元格滚动到屏幕上时,我会在日志中收到以下奇怪的警告:
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
根据这条消息,它是无害的。这是我起初的想法,但我注意到,每当显示图像时,它都会导致性能结巴。口吃是一个约1/10秒的停顿,除了图像在旋转木马中之外,不会被注意到,因此,你没有能够快速滚动,而是被一次又一次地短暂中断。通过反复试验,我发现中断是由于同步加载图像造成的,即使图像已经加载(这很奇怪)。切换到asynchronous和violá。我正在异步加载图像,但仍然收到以下消息:\。我使用SDWebImage来获取图像如果没有任何形式的性能延迟,并且只是警告,那么它根本不会影响用户。在关于这个主题的更多信息出来之前,我们一直被一条毫无用处的消息所困扰。我仍然收到这个警告。@FayzaNawaz尝试异步加载图像,如果你还没有。请不要编辑你的问题来提供解决方案。相反,发布一个答案。
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)
}
}
}