class ViewController: NSViewController {
@IBOutlet weak var tableView: NSTableView!
var onlineTunnels:[Tunnel]? = []
override func viewDidLoad() {
super.viewDidLoad()
let t = Tunnel(
id: "id",//tunnel["id"] as? String,
ip: "127.0.0.1",
proto: "tcp",//tunnel["proto"] as? String,
region: "us",//tunnel["region"] as? String,
public_url: "http://localhost",//tunnel["public_url"] as? String,
metadata: "1",
started_at: "started_at",//tunnel["started_at"] as? String,
version: "1")
onlineTunnels?.append(t)
}
}
Я вижу поток 1: EXC_BAD_ACCESS (code = EXC_I386_GPFLT). Может ли кто-нибудь помочь мне понять, почему я это вижу? В конце концов, я настрою цикл и добавлю несколько туннелей в массив, а затем покажу их в NSTableView. Мысли? Это нарушение, когда я добавляю структуру к массиву, и я не могу понять, почему.
Ваш код прошел проверку, поэтому ваша проблема, вероятно, в другом. Вы должны предоставить нам более подробную информацию о вашем сбое.
Единственное, что мне бросается в глаза, это то, что IBOutlet
может быть неправильно подключен, но без более подробной информации сложно сказать наверняка.
Не связано, но почему onlineTunnels
является необязательным, если вы явно назначаете элемент в viewDidLoad
?
@JohnMontgomery, OP ничего не делает с tableView
(по крайней мере, в показанном коде), так что технически этого не может быть.
@JohnMontgomery Если бы IBOutlet
не был подключен, он бы сказал: Fatal error: Unexpectedly found nil...
@CharlesSrstka Это нарушение, когда я добавляю структуру в массив. Но я не понимаю почему.
Пожалуйста, опубликуйте трассировку.
Я на днях починил это. Я случайно связал свою переменную onlineTunnels в раскадровке с ViewController, и это вызвало нарушение.
На какой линии происходит сбой? Что за обратный след?