swift - swift 中带有可选变量的冗余 - 是否有优雅的解决方案?

标签 swift

这可能被视为一个小问题,但它在代码中看起来很丑陋,我想解决它。

我声明了一个可选变量,如果它不为空 (!= nil),我想稍后更改它。代码是:

先声明

private var myVariable: Int? // Optional Integer variable

不为空时递减

{
    if myVariable != nil {myVariable!--} // Same condition in "if" and in unwrapping
}

我需要 !,即使 if-condition 确保变量有值。这是多余的,意味着 Swift 必须进行两次相同的比较。

有没有更优雅的方式来做到这一点?

我当前的 Xcode 版本是 6.3。

最佳答案

作为示例,您可以执行以下操作:

myVariable?++
myVariable?--
myVariable? += 10

这使用了可选的链接——如果 myVariable 有一个非零的值,它被展开并递增。否则语句返回 nil。

关于swift - swift 中带有可选变量的冗余 - 是否有优雅的解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29621907/

相关文章:

php - 从 iOS 应用程序将多部分图像上传到 PHP 服务器

json - Codable 自定义类类型属性无法从 JSON 初始化自己的属性

arrays - Reverse RandomAccessCollection 的 `_base` 属性是什么?

ios - Swift 中“String”无法转换为 'Int'

ios - 在 swift 中为 firebase 自定义登录

swift - 在 ARkit2 中跟踪多个图像并播放它们的视频

objective-c - Xcode Playground 并初始化 NSImage

ios - 如何使用 youtube-ios-player-helper 库在 iOS 中更改 youtube 视频的音量

swift - 如何在 Swift 的 macOS 中禁用弹出按钮的 menuItem?

ios - Swift 从 Firebase 数据库中获取特定值