Swift 为什么递增一个值会显示“我”;()“什么;?

Swift 为什么递增一个值会显示“我”;()“什么;?,swift,Swift,这是我的代码: var pictureVersion = snapshotValuesOnline?["PictureVersion"] as! String print("downloaded: \(pictureVersion)") var pictureVersionInt = Int(pictureVersion)! print("toInt : \(pictureVersionInt)") var pictureInt = pictureVersionInt += 1 print(

这是我的代码:

var pictureVersion = snapshotValuesOnline?["PictureVersion"] as! String
print("downloaded: \(pictureVersion)")

var pictureVersionInt = Int(pictureVersion)!
print("toInt : \(pictureVersionInt)")

var pictureInt = pictureVersionInt += 1
print("plusOne : \(pictureInt)")

var pictureIntToString = "\(pictureInt)"
print("toString : \(pictureIntToString)")
这是我的输出:

downloaded: 3
toInt : 3
plusOne : ()
toString : ()

我做错了什么

+=
被定义为一个函数,如下所示:

func +=(lhs: inout Int, hrs: Int) { lhs = lhs + hrs }
此函数不返回任何内容,因此它相当于返回
Void
(定义为空元组,
()
),也称为nothing

您将获得与以下相同的行为:

func f() {} // Type `(Void) -> Void`
print(f())

pictureInt
Void
,因为
+=
是一个
inout
函数,用于修改
pictureVersionInt
。为什么要使用
+=
?为什么不干脆
让pictureInt=pictureVersionInt+1