首页 > 解决方案 > Swift 中的“in”是什么意思?

问题描述

我在 SwiftUI 中多次看到“in”这个词,但不太明白它的含义。因为这个词又短又普通,我很难寻找它的含义和用法。

最近,我在onChange 方法中看到了它,例如:

struct ContentView: View {
    @State private var name = ""

    var body: some View {
        TextField("Enter your name:", text: $name)
            .textFieldStyle(RoundedBorderTextFieldStyle())
            .onChange(of: name) { newValue in
                print("Name changed to \(name)!")
            }
 }

标签: iosswiftswiftui

解决方案


就像在您的代码示例中使用infther newValuelet`s Swift 一样,您知道 process 的返回值将会发生,newValue所以它更像是一个符号或标志,称为:“token”,对您和 CPU 来说,工作正在发生,newValue因为你把它放在前面in,例如你用 using 给nameonChange修饰符,如果得到任何新的更新newValue in,你将获得更新的值,还请注意你可以使用代替并且工作方式相同。name$0newValue in


.onChange(of: name) { newValue in
    return print("Name changed to \(name)!")
}

或者:

.onChange(of: name) { 
    print("Name changed to \($0)!")
}

两者都是一样的,看你喜欢什么。

另一个更好理解的例子:

let arrayOfInt: [Int] = [1, 2, 3]

let arrayOfString: [String] = arrayOfInt.map({ value in return value.description })
let arrayOfString: [String] = arrayOfInt.map({ $0.description })

例如,我们有一个arrayOfInt并且我们想要创建它的 String 数组,对于这项工作,我们可以使用map,再次像上一个示例一样,我们in以 2 方式使用。在第一个 as:value in和第二个中 as $0。我建议您学习更多关于Swift/SwiftUI 中的闭包的知识,它们非常重要,如果不了解它们,我们就无法很好地理解 iOS 中的代码。

也不要忘记在你可以输入和使用或不使用它return之后注意单词in,Swift 足够聪明,因为推理可以理解,但是如果你使用它,它会让你的代码更容易阅读和更好在代码的语法中。


推荐阅读