0
这是我第一次使用自定义视图,而且我很困惑如何继续。在界面生成器中设计自定义视图
我有一个自定义视图,从NSView
继承与它只有3件事:图像视图,以及2个文本字段:
// MyCustomView.swift
import Cocoa
@IBDesignable class MyCustomView: NSView {
@IBOutlet weak var imageView: NSImageView!
@IBOutlet weak var titleField: NSTextField!
@IBOutlet weak var subtitleField: NSTextField!
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
}
}
我加了一个XIB文件,设计视图和连接的所有网点:现在
我的主要情节串连图板我添加了一个通用的观点,改变它的类MyCustomView
和连接的插座。下面的代码为ViewController.swift
:
// ViewController.swift
import Cocoa
class ViewController: NSViewController {
@IBOutlet weak var customView: MyCustomView!
override func viewDidLoad() {
super.viewDidLoad()
customView.titleField.stringValue = "This is a title"
}
}
在运行时我就customeView.titleField.stringValue = ...
行了一个致命的错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
如果我拿出那行,应用程序编译,但自定义视图是空白。
所以我想我的定制设计没有从MyCustomView.xib
继续?我该如何纠正?我加倍检查,所有的网点都连接到IB。
为什么你需要子类NSView时,事实上你可以通过连接视图控制器访问这些控件? –
实际的自定义视图更复杂。这是一个简化的例子 – Jenny
这不是这个问题的重复。我知道错误意味着什么,但我问如何设置我的视图和Interface Builder以避免错误。 – Jenny