當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Swift Array init(_:)用法及代碼示例


初始化器

init(_:)

創建一個包含序列元素的數組。

聲明

init<S>(_ s: S) where Element == S.Element, S : Sequence

參數

s

要轉換為數組的元素序列。

詳述

您可以使用此初始化程序從符合 Sequence 協議的任何其他類型創建數組。例如,您可能希望創建一個包含 1 到 7 整數的數組。在一個範圍內使用此初始化程序,而不是在數組文字中鍵入所有這些數字。


let numbers = Array(1...7)
print(numbers)
// Prints "[1, 2, 3, 4, 5, 6, 7]"

您還可以使用此初始化程序將複雜的序列或集合類型轉換回數組。例如,字典的keys 屬性不是具有自己存儲空間的數組,它是一個集合,僅在訪問字典時映射其元素,從而節省分配數組所需的時間和空間。但是,如果您需要將這些鍵傳遞給采用數組的方法,請使用此初始化程序將該列表從其類型 LazyMapCollection<Dictionary<String, Int>, Int> 轉換為簡單的 [String]


func cacheImages(withNames names: [String]) {
    // custom image loading and caching
 }


let namedHues: [String: Int] = ["Vermillion": 18, "Magenta": 302,
        "Gold": 50, "Cerise": 320]
let colorNames = Array(namedHues.keys)
cacheImages(withNames: colorNames)


print(colorNames)
// Prints "["Gold", "Cerise", "Magenta", "Vermillion"]"

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相關用法


注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Array init(_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。