0
Как правильно загрузить NSView из Xib?Как загрузить NSView из Xib с Swift 3
Мой код:
var topLevelArray: NSArray? = nil
let outputValue = AutoreleasingUnsafeMutablePointer<NSArray>(&topLevelArray)
if Bundle.main.loadNibNamed("RadioPlayerView", owner: nil, topLevelObjects: outputValue) {
let views = outputValue.pointee
return views.firstObject as! RadioPlayerView
}
topLevelArray = nil
return nil
Проблема заключается в «outputValue» является указателем авто-релиз, и как только я вернусь из функции, аварии с программой ACCESS_BAD_ADDRESS
сохранить сильную ссылку, используя свойство класса, а затем он не будет освобожден. И постарайтесь лучше понять ARC и управление памятью. – Volker
Да, это правда. Но я не хочу поддерживать сильную ссылку, я просто хочу загрузить View и сделать. На самом деле, я исправил проблемы. это довольно просто, просто удалить переменную указатель: пусть outputValue = AutoreleasingUnsafeMutablePointer (& topLevelArray) и просто Bundle.main.loadNibNamed ("RadioPlayerView", владелец: ноль, topLevelObjects: & topLevelArray) –