我想使用@if($match->schedule < Carbon\Carbon::now())
<strong id="match_schedule">Match will start soon</strong>
@endif
隐藏Protocol
子类的类类型。因此,我创建了一个UIViewController
,如下所示:
Protocol
和具体的课程:
protocol Displayable where Self: UIViewController {
func display()
}
一切顺利,直到我在运行时执行class DisplayableViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
extension DisplayableViewController: Displayable {
func display() {
_ = view
}
}
:
display()
崩溃发生在class ViewController: UIViewController {
private var displayable: Displayable!
override func viewDidLoad() {
super.viewDidLoad()
displayable = DisplayableViewController()
displayable.display()
}
}
。
线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x0)
删除_ = view
或让where Self: UIViewController
解决此问题,为什么?
我只希望UIViewController的子类符合它。
这里是demo来重现它。
快速版本:4.2
答案 0 :(得分:3)
使您的类型为main
和UIViewController
的组合。
例如:
Displayable
这里是一些文档的链接,这些文档包含有关复合类型的相关信息:
https://docs.swift.org/swift-book/ReferenceManual/Types.html