Swift | SwiftUI -> Usage

2024-08-19  本文已影响0人  f8d1cf28626a

Swift

Swift 中的属性修饰符用于定义属性的访问权限以及其他特性,比如是否可以被外部访问,是否是一个计算属性等。

Swift 中常用的属性修饰符包括:

5种修饰符访问权限排序
open > public > internal > fileprivate > private

private:只在定义它们的作用域内(如类、结构体、枚举或函数内)可以访问。

fileprivate:在定义它们的文件内可以访问,但不能在不同文件中访问。

internal:在同一个应用程序的不同部分可以访问,但不能在应用程序之外访问。

public:在任何地方都可以访问。

open:在任何地方都可以访问,但是可以被重写或者扩展。

static:关键字,用来修饰类的属性,表示静态属性,不需要实例化对象就可以访问。

class:关键字,用来修饰类的属性,表示该属性在类的所有实例中都只有一份拷贝。

final:关键字,用来修饰类的属性,表示该属性不能被重写。

lazy:关键字,用来修饰属性,表示该属性的初始化将被推迟,直到第一次使用。

SwiftUI

//自定义变量放入环境变量中
private struct MyEnvironmentKey: EnvironmentKey {
    static let defaultValue: String = "Default value"
}

extension EnvironmentValues {
    var myCustomValue: String {
        get { self[MyEnvironmentKey.self] }
        set { self[MyEnvironmentKey.self] = newValue }
    }
}

//写
ContentView().environment(\.myCustomValue, "Hong")
//读
@Environment(\.myCustomValue) var myCustomValue: String

nice ?

上一篇 下一篇

猜你喜欢

热点阅读