我正在尝试使用certain tutorial学习自动调整大小的UICollectionView Cell技术。我不知道如何在Objective-C中编写以下快速代码:
if let cvl = collectionViewLayout as? UICollectionViewFlowLayout {
cvl.estimatedItemSize = CGSize(width: 150, height: 75)
}
有人可以帮忙吗?
最佳答案
在Swift中,if
-let
的构造等效于Obj-C中的nil
-checking。 as
关键字用于强制转换。问号使其成为可选类型,它是可以容纳nil
的值或值。非可选值不能保存nil
,如果尝试“打开” nil
可选项,则会出现运行时错误。
在Obj-C中(这应该等效):
UICollectionViewFlowLayout * cvl = (UICollectionViewFlowLayout)collectionViewLayout;
if (cvl){
cvl.estimatedItemSize = CGSizeMake(150, 75);
}
CGGeometry documentation