AllValues<T>

// 2020.10.15๏ผš

import SwiftUI

// ๐Ÿ“ฆ AllValues<T>
public struct AllValues<T>: PreferenceKey {
    // โญ๏ธ ๆ”ถ้›†็š„่ณ‡ๆ–™ๆ”พๅœจ [T] ่ฃก้ข
    public typealias Value = [T]
    // โญ๏ธ ๅˆๅง‹ๅ€ผ๏ผš็ฉบ้™ฃๅˆ—
    public static var defaultValue: Value { Value() }
    // โญ๏ธ ๅŠ ๅ…ฅๆ–ฐ่ณ‡ๆ–™็š„ๆ–นๆณ•๏ผš[v1, v2, ...] + [vn]
    public static func reduce(value: inout Value, nextValue: () -> Value) {
        value += nextValue()   // nextValue() == [vn]
    }
}

Last updated