私のレイアウトを無効にするプロパティラッパーを作成したいと思いUICollectionViewLayout
ます。
したがって、このプロパティラッパーを作成しました
@propertyWrapper
class LayoutInvalidating {
private let layout: UICollectionViewLayout
init(layout: UICollectionViewLayout) {
self.layout = layout
self.wrappedValue = layout
}
var wrappedValue: UICollectionViewLayout {
didSet {
self.layout.invalidateLayout()
}
}
}
それでは以下のように使いたいと思います
final class VehicleControlsCollectionViewLayout: UICollectionViewLayout {
@LayoutInvalidating(layout: self) // self is not alive
public var itemSize: CGSize = .init(width: 70, height: 70)
}
プロパティが設定されるたびに、 を呼び出したいと思いますself.invalidateLayout()
。それが存在するときに自分自身にアクセスする方法はありますか?