ios - 如何在 Objective-C 中转换以下 Swift 代码?

标签 ios objective-c swift

我正在尝试使用 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 检查。 as 关键字用于转换。问号使其成为可选类型,它是一个可以保存 nil 或值的值。非可选值不能包含 nil,如果您尝试“解包”一个 nil 可选值,您将收到运行时错误。

在 Obj-C 中(这应该是等价的):

UICollectionViewFlowLayout * cvl = (UICollectionViewFlowLayout)collectionViewLayout;
if (cvl){
    cvl.estimatedItemSize = CGSizeMake(150, 75);
}

CGGeometry documentation

关于ios - 如何在 Objective-C 中转换以下 Swift 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33717307/

相关文章:

ios - 'JSQSystemSoundPlayer' 错误没有可见的@interface

ios - UITableview 标题隐藏顶部单元格

ios - 使用现有路径为 UIView 创建掩码?

ios - 如何对工具栏项应用约束

iphone - 在 Objective C/C 中将字符串中的数值转换为整数

ios - 可以将 Analytics 划分为 DEBUG 和 RELEASE 吗?

iphone - 如何在cocos2d中快速绘制背景?

swift - 将 Json 字符串解码为类对象 Swift

ios - 将 UIImage 调整为 200x200pt/px

ios - AS3/Air 将焦点从一个文本字段转移到 ios 中的下一个文本字段