swift 3 更新 swift 2 的语法

标签 swift syntax inout

在 swift 2.2 中它的工作原理:

var messages = [JSQMessage]()

//...
for i in 1...10 {
 let sender = (i%2 == 0) ? "Server" : self.senderId
 let messageContent = "Message nr. \(i)"
 var message = JSQMessage(senderId: sender, displayName: sender, text: messageContent)
 self.messages += [message] //Cannot convert value of type '[JSQMessage]' to expected argument type 'inout_'
}

在 swift 3 中给我错误。尝试使用

self.messages += [&message] // Type of expression is ambiguous without more context

如何解决?

最佳答案

试试这个: self.messages.append(消息)

附加有很多变体:

https://stackoverflow.com/a/24002784/1979882

关于swift 3 更新 swift 2 的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40194552/

相关文章:

c# - 输入保存受约束泛型类实例的变量

Swift inout 如何在未更改时不复制回属性,以不触发对象 setter

ios - Swift 3 中 IAP 的产品请求?

ios - UIGestureRecognizerStateEnded 的 Swift 等价物是什么?

swift - ClosedRange<Int>.Swift 中 Int 的索引?

MySQL SELECT WHERE EQUALS 语法

swift - 导入到 XCode 的 Collada (.dae) 文件显示没有纹理

html - 对 HTML 属性使用单引号是否正确?

Swift 将协议(protocol)类型转换为 struct 并作为 inout 传递