在我的StrechyHeaderLayout
课程中,我正在创建一个协议。
protocol StrechyHeaderLayoutDelegate : class {
func manipulateHeaderView(sender: StrechyHeaderLayout)
}
在本课程中,我宣布代表。
var delegate : StrechyHeaderLayoutDelegate?
我在ScheduleViewController
课程中使用此协议。
我正在创建一个变量StrechyHeaderLayoutObj
作为类全局变量
class ScheduleViewController: UICollectionViewController,StrechyHeaderLayoutDelegate {
let StrechyHeaderLayoutObj = StrechyHeaderLayout()
...
}
我正在viewDidLoad()
StrechyHeaderLayoutObj.delegate = self
正在设置委托,但在调用StrechyHeaderLayout
时,会找到委托nil
。
我正在尝试访问此方法中的委托
override func layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
delegate!.manipulateHeaderView(self)
}
但它抛出了错误: 致命错误:在解包可选值时意外发现nil