Я пытаюсь загрузить NIB из файла.
У меня есть этот код, с здесь
protocol NibLoadable {
static var nibName: String? { get }
static func createFromNib(in bundle: Bundle) -> Self?
}
extension NibLoadable where Self: NSView {
static var nibName: String? {
return String(describing: Self.self)
}
static func createFromNib(in bundle: Bundle = Bundle.main) -> Self? {
guard let nibName = nibName else { return nil }
var topLevelArray: NSArray? = nil
bundle.loadNibNamed(NSNib.Name(nibName), owner: self, topLevelObjects: &topLevelArray)
guard let results = topLevelArray else { return nil }
// let views = Array<Any>(results).filter { $0 is Self }
// return views.last as? Self
let element = results[0] as? Self
return results[0] as? Self
}
}
результаты имеют два элемента, NSView и NSApplication.
Проблема здесь в том, что element
- ноль. Комментированный код также давал мне nil
там.
Я новичок в Свифте. Что это за доставка Self
или что она представляет в последней строке createFromNib
?