gpt4 book ai didi

用于分配可选值的 Swift 简写

转载 作者:行者123 更新时间:2023-11-28 12:15:19 28 4
gpt4 key购买 nike

我是 Swift 的新手,我想知道是否有一种“速记”形式,可以在不执行 if nil 检查的情况下将可选值分配给非可选值。

例如,如果我有一个可选的闭包:

var onTap: (() -> Void)?

稍后我可以通过

 onTap?()

? 让我跳过 nil 检查并强制解包。

但我很好奇是否存在某些不是 clousre 的值。例如

var oldTransform: CGAffineTransform?
var someTransform: CGAffineTransform //non optional

后来,我决定将 oldTransform 分配给 someTransform 我必须

if (oldTransform != nil) {
someTransform = oldTransform!
}

是否有更简洁的模式来执行上述操作(有点像 ?)?

最佳答案

当然可以。你可以使用 if let 如下:

if let unwrappedOldTransForm = oldTransform {
someTransform = unwrappedOldTransForm
}

当您使用 if let 检查时,它会为您打开值并检查它是否可以将 oldTransform 的值设置为 unwrappedOldTransForm。如果值为 nil,您将能够通过添加以下 else 条件来处理错误:

if let unwrappedOldTransForm = oldTransform {
someTransform = unwrappedOldTransForm
} else {
// handle if oldTransform is nil
}

关于用于分配可选值的 Swift 简写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46829182/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com