ios - 从 swift 三元运算符返回引用

标签 ios swift xcode

let myRef = isTrue() ? &objectA : &objectB

错误:“使用无关的‘&’”

这可以在经典的 if/else 条件中完成,但不能在三元中完成。有谁知道为什么吗?

最佳答案

I have a function which updates a struct. This struct is passed as an inout myStruct parameter. The ternary operator is to determine which struct to pass to the function

啊。在原来的问题中这样说会很有帮助。

你不能像这样使用 & 因为 Swift 中的“地址”并不是真正的东西。如果您不想进入不安全指针,并且目标是使用输入参数 &objectA&objectB 调用函数 f,具体取决于在有条件的情况下,使调用本身成为有条件的:

isTrue() ? f(&objectA) : f(&objectB)

关于ios - 从 swift 三元运算符返回引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60780413/

相关文章:

swift - Vapor Fluent 不会因违反外键约束而抛出

objective-c - Core Data (Mac) 如何在 ID 字段上实现自增

ios - Xcode 6 无法在 Swift 中自动完成

xcode - 表格 View 为空时如何显示标签

javascript - 从 ios 应用程序调用 javascript 函数

ios - 如何制作像 propellerhead 的应用程序 "Figure"这样的自定义 Controller ?

ios - Ntimer 倒计时跳过按钮

ios - 在没有远程通知的情况下调试 UNNotificationServiceExtension

iphone - 我想阻止 TableView Controller 的其他单元格中的触摸输入

ios - 在 Swift 中过滤 AnyObject[ ]