小编FTN*_*mad的帖子

Swift 中带有数组的 For-In 循环中迭代器元素的可变性

我在 Swift 3.0 中有一些代码,就像这样尝试更新元素数组中的属性......

for point in listOfPoints {
    var pointInFrame : Float = Float(point.position.x * sensorIncomingViewPortSize.width) + Float(point.position.y)
    point.status = getUpdateStatus( pointInFrame )
}
Run Code Online (Sandbox Code Playgroud)

但是我收到一个编译错误:“无法分配给属性:‘point’是一个‘let’常量”[第 3 行]

无论如何,有没有办法使迭代器(点)在 Swift 中可变,就像如何使用“inout”作为函数参数?

或者你应该以另一种方式完成这项任务?

提前致谢。

斯坦

arrays iterator immutability for-in-loop swift

5
推荐指数
1
解决办法
1608
查看次数

&(内存中的地址)是Swift中的运算符,还是我使用C?

因此,我正在Ales Tsurko进行Chris Adamson的CoreAudio示例的Swift转换,该转换非常[且需要] Swift转换。但是,我遇到了一些我似乎找不到直接答案的东西。

在示例中有类似这样的内容:

    var theErr = noErr
    var dictionarySize: UInt32 = 0
    var isWritable: UInt32 = 0
    theErr = AudioFileGetPropertyInfo(
            audiofile, 
            kAudioFilePropertyInfoDictionary, 
            &dictionarySize, 
            &isWritable
    )
Run Code Online (Sandbox Code Playgroud)

我很好奇的是使用&运算符。

现在,在普通的C语言家族中,它指的是变量的内存地址,并且似乎在这里这样做。

什么让我感到困惑,是我在第四行中编写Swift还是C代码?

我知道您将Obj-C和Swift混合使用,但是我在Swift文档中找不到使用&作为内存操作符的任何内容。那么,这种用法是没有记载的吗?或者,如果我已经暂时从Swift移出C / Obj-C,那就行了吗?

谢谢

ampersand swift

2
推荐指数
1
解决办法
523
查看次数

标签 统计

swift ×2

ampersand ×1

arrays ×1

for-in-loop ×1

immutability ×1

iterator ×1