gpt4 book ai didi

Xcode 7 内存泄漏

转载 作者:行者123 更新时间:2023-11-30 13:51:32 25 4
gpt4 key购买 nike

要么我做错了什么,要么我在 Xcode 7 上发现了严重的内存泄漏。
我正在尝试制作一个简单的 OS X 应用程序,它使用绑定(bind)从对象数组更新 TableView 。
我创建了这个简单的模型:

class Episode: NSObject {
var path: NSURL
var series: String
var season: Int
var number: Int
var name: String

init(path:NSURL, series:String, season:Int, number:Int, name:String) {
self.path = path
self.series = series
self.season = season
self.number = number
self.name = name
}
}

然后,在 ViewController 中,我指定一个 Episodes 数组,并在 viewDidLoad 方法中添加两个项目

import Cocoa

class ViewController: NSViewController {

var selectedEpisodes = [Episode]()

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.
selectedEpisodes.append(Episode(path: NSURL(string: "file:///")!, series: "Foo", season: 1, number: 1, name: "Foobar"))
selectedEpisodes.append(Episode(path: NSURL(string: "file:///")!, series: "fOO", season: 10, number: 99, name: "fOObAR"))
}

override var representedObject: AnyObject? {
didSet {
// Update the view, if already loaded.
}
}


}

然后,我向 Storyboard 添加一个包含 5 列的 TableView ,其中 Episode 类的每个属性各 1 列。我使用以下配置将 NSArrayController 添加到 View Controller 场景:

Array Controller Config Array Controller Config

然后,我选择每个 NSTableCellView 的 NSTextField 并向其添加此绑定(bind)配置:

NSTextField Binding

当我开始构建项目时,它构建得很好,直到它到达挂起的 Storyboard的编译为止。一个名为 ibtoold 的进程启动,它很快就会开始使用大量内存。

ibtoold process leaks

即使我停止从 Xcode 进行编译,这个过程也不会停止。如果我不手动强制退出它,它很快就会占用所有可用内存,直到整个系统崩溃。操作系统会暂停其他应用程序等,以尝试拯救您,但此时您只能强制重新启动计算机。

我做错了什么或者这是一个错误?如果我做错了什么,那是什么,如果没有,我该如何修复这个简单的应用程序?
感谢您抽出时间。

最佳答案

在您的类上添加 deinit 并查看控制台上是否出现 deinitialized 消息。

    class Episode: NSObject {
var path: NSURL
var series: String
var season: Int
var number: Int
var name: String

init(path:NSURL, series:String, season:Int, number:Int, name:String) {
self.path = path
self.series = series
self.season = season
self.number = number
self.name = name
}
deinit {
print("\(name) is being deinitialized")
}
}

关于Xcode 7 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34223008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com