在CollectionView - Swift中从内存中删除对象

时间:2016-11-07 10:08:15

标签: swift object memory uicollectionviewcell collectionview

我有一个严重的问题,我无法解决。 我有一个集合视图,我从iCloud Drive加载图像。 我使用以下代码将图像加载到图像数组中:

func test() {
        for index in 0..<(note?.content?.count)! {
            MediaAlbum.imageArray = []

            let documentURL = ubiquityURL.URLByAppendingPathComponent((self.note?.content![index].componentsSeparatedByString(";")[0])!)
            document = CloudDrive(fileURL: documentURL)

            document?.openWithCompletionHandler({(success: Bool) -> Void in
                if success {
                    print("Has Element?:\(MediaAlbum.imageArray)")

                } else {
                    print("error")
                }
            })
        }
    }

加载NSData:

override func loadFromContents(contents: AnyObject, ofType typeName: String?) throws {
        if let userContent = contents as? NSData {
            userText = NSString(bytes: contents.bytes,
                                length: userContent.length,
                                encoding: NSUTF8StringEncoding) as? String
        }

        if let userContent = contents as? NSData {
            userImage = UIImage(data:userContent,scale:1.0)

            MediaAlbum.imageArray.append(userImage)

        }
    }

当发生这种情况时,一切正常,但是当我将图像加载到Cell的imageView (cell.imageView.image = MediaAlbum.imageArray[indexPath.row])时,内存上升到100Mb。

多数民众赞成好,但是当我关闭viewController时,或者尝试清除什么都没发生。我用仪器分析了这些图像。但我无法弄清楚是什么。有谁知道如何从内存中清除这些数据?

我希望有人能解决这个问题,非常感谢你。

0 个答案:

没有答案