我正在构建一个使用NSCollectionView从iTunes打印专辑插图的应用程序。我通过iTunesLibrary框架从iTunes获得了插图数据,然后将这些NSImage存储到一个数组中。问题是启动程序时,它必须从iTunes重新加载数据,这非常慢。我有345张专辑图片要加载,因此尽管iTunes花了1-2s的时间完成了大约5-6s的加载。
磁盘上是否有任何保存数据的方法?
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
let cache = NSCache<NSString, NSArray>()
if let cacheVersion = cache.object(forKey: "AlbumData")
{
print(1)
myObject = cacheVersion as! [NSImage]
}
else
{
print(2)
locationURL = getsongURL(value: playlist_name)
myObject = getImageFromURL(value: locationURL)
cache.setObject(myObject as NSArray, forKey: "AlbumData")
}
}
我正在使用NSCache存储数据,但是没有用。