Как создать пустой массив в Swift?

Я действительно смущен тем, как мы создаем массив в Swift. Не могли бы вы рассказать мне, сколько способов создать пустой массив с некоторыми деталями?

Ответ 1

Здесь вы идете:

var yourArray = [String]()

Вышеупомянутое также работает для других типов, а не только для строк. Это просто пример.

Добавление значений к нему

Я предполагаю, что в конечном итоге вы захотите добавить к нему значение!

yourArray.append("String Value")

или

let someString = "You can also pass a string variable, like this!"
yourArray.append(someString)

Добавить, вставив

Как только у вас есть несколько значений, вы можете вставлять новые значения вместо добавления. Например, если вы хотите вставить новые объекты в начале массива (вместо добавления их в конец):

yourArray.insert("Hey, I'm first!", atIndex: 0)

Или вы можете использовать переменные, чтобы сделать вашу вставку более гибкой:

let lineCutter = "I'm going to be first soon."
let positionToInsertAt = 0
yourArray.insert(lineCutter, atIndex: positionToInsertAt)

Вы, возможно, в конце концов захотите удалить некоторые материалы

var yourOtherArray = ["MonkeysRule", "RemoveMe", "SwiftRules"]
yourOtherArray.removeAtIndex(1)

Вышеизложенное отлично работает, когда вы знаете, где в массиве значение (т.е. когда вы знаете его значение индекса). Поскольку значения индекса начинаются с 0, вторая запись будет указана в индексе 1.

Удаление значений без знания индекса

Но что, если вы этого не сделаете? Что, если yourOtherArray имеет сотни значений и все, что вы знаете, вы хотите удалить значение, равное "RemoveMe"?

if let indexValue = yourOtherArray.indexOf("RemoveMe") {
    yourOtherArray.removeAtIndex(indexValue)
}

Это должно вас начать!

Ответ 2

var myArr1 = [AnyObject]()

может хранить любой объект

var myArr2 = [String]()

может хранить только строку

Ответ 3

Вы можете использовать

var firstNames: [String] = []

Ответ 4

Swift 3

Существует три (3) способа создания пустого массива в Swift, а стиль сокращенного синтаксиса всегда предпочтительнее.

Способ 1: Синтаксис сокращений

var arr = [Int]()

Способ 2: Инициализатор массива

var arr = Array<Int>()

Способ 3: массив с литералом массива

var arr:[Int] = []

Способ 4. Кредит отправляется на @BallpointBen

var arr:Array<Int> = []

Ответ 5

Существует два основных способа создания/инициализации массива в swift.

var myArray = [Double]()

Это создаст массив парных чисел.

var myDoubles = [Double](count: 5, repeatedValue: 2.0)

Это создаст массив из 5 удвоений, все инициализируются значением 2.0.

Ответ 6

Если вы хотите объявить пустой массив строкового типа, вы можете сделать это 5 различными способами: -

var myArray: Array<String> = Array()
var myArray = [String]()
var myArray: [String] = []
var myArray = Array<String>()
var myArray:Array<String> = []

Массив любого типа: -

    var myArray: Array<AnyObject> = Array()
    var myArray = [AnyObject]()
    var myArray: [AnyObject] = []
    var myArray = Array<AnyObject>()
    var myArray:Array<AnyObject> = []

Массив типа Integer: -

    var myArray: Array<Int> = Array()
    var myArray = [Int]()
    var myArray: [Int] = []
    var myArray = Array<Int>()
    var myArray:Array<Int> = []

Ответ 7

Вот некоторые общие задачи в Swift 4, которые вы можете использовать в качестве ссылки, пока не привыкнете к вещам.

    let emptyArray = [String]()
    let emptyDouble: [Double] = []

    let preLoadArray = Array(repeating: 0, count: 10) // initializes array with 10 default values of the number 0

    let arrayMix = [1, "two", 3] as [Any]
    var arrayNum = [1, 2, 3]
    var array = ["1", "two", "3"]
    array[1] = "2"
    array.append("4")
    array += ["5", "6"]
    array.insert("0", at: 0)
    array[0] = "Zero"
    array.insert(contentsOf: ["-3", "-2", "-1"], at: 0)
    array.remove(at: 0)
    array.removeLast()
    array = ["Replaces all indexes with this"]
    array.removeAll()

    for item in arrayMix {
        print(item)
    }

    for (index, element) in array.enumerated() {
        print(index)
        print(element)
    }

    for (index, _) in arrayNum.enumerated().reversed() {
        arrayNum.remove(at: index)
    }

    let words = "these words will be objects in an array".components(separatedBy: " ")
    print(words[1])

    var names = ["Jemima", "Peter", "David", "Kelly", "Isabella", "Adam"]
    names.sort() // sorts names in alphabetical order

    let nums = [1, 1234, 12, 123, 0, 999]
    print(nums.sorted()) // sorts numbers from lowest to highest

Ответ 8

Массив в swift записывается как ** Array < Элемент > **, где Element - это тип значений, которые позволяет хранить массив.

Массив может быть инициализирован как:

let emptyArray = [String]()

Он показывает, что его массив строки типа

Тип переменной emptyArray определяется как [String] из типа инициализатора.

Для создания массива строки типа с элементами

var groceryList: [String] = ["Eggs", "Milk"]

Файл groceryList был инициализирован двумя элементами

Переменная groceryList объявляется как "массив строковых значений, написанный как [String].  Этот конкретный массив задал тип значения String, ему разрешено хранить только значения String.

Существуют различные свойства массива вроде:

- проверить, нет ли массива элементов (если массив пуст или нет)

isEmpty свойство (Boolean) для проверки, является ли свойство count равным 0:

if groceryList.isEmpty {
    print("The groceryList list is empty.")
} else {
    print("The groceryList is not empty.")
}

- Добавление (добавление) элементов в массив

Вы можете добавить новый элемент в конец массива, вызвав массивы append (_:) method:

groceryList.append("Flour")

Теперь файл gcceryList содержит 3 элемента.

В качестве альтернативы добавьте массив из одного или нескольких совместимых элементов с оператором присваивания добавления (+ =):

groceryList += ["Baking Powder"]

Теперь в файле groceryList содержится 4 элемента

groceryList += ["Chocolate Spread", "Cheese", "Peanut Butter"]

Теперь в файле gcceryList содержится 7 элементов

Ответ 9

вы можете удалить содержимое массива с передачей индекса массива или удалить все

    var array = [String]()
    print(array)
    array.append("MY NAME")
    print(array)
    array.removeFirst()
    print(array)
    array.append("MY NAME")
    array.removeLast()
    array.append("MY NAME1")
    array.append("MY NAME2")
    print(array)
    array.removeAll()
    print(array)

Ответ 10

Swift 5

// Create an empty array
var emptyArray = [String]()

// Add values to array by appending (Adds values as the last element)
emptyArray.append("Apple")
emptyArray.append("Oppo")

// Add values to array by inserting (Adds to a specified position of the list)
emptyArray.insert("Samsung", at: 0)

// Remove elements from an array by index number
emptyArray.remove(at: 2)

// Remove elements by specifying the element
if let removeElement = emptyArray.firstIndex(of: "Samsung") {
    emptyArray.remove(at: removeElement)
}

Аналогичный ответ дается, но он не работает для последней версии Swift (Swift 5), поэтому вот обновленный ответ. Надеюсь, поможет! :)

Ответ 11

Инициирование массива с предопределенным количеством:

Array(repeating: 0, count: 10)

Я часто использую это для отображения операторов, где мне нужно определенное количество фиктивных объектов. Например,

let myObjects: [MyObject] = Array(repeating: 0, count: 10).map { _ in return MyObject() }

Ответ 12

//Простой пустой массив типа String

var arrString: [String] = String

Ответ 13

swift 3 и выше я надеюсь, что вы поможете вам

//Объявление массива String

   var  arraName = [String]() 

  // Adding Value  String Only
            self.arraName.append("abc")
            self.arraName.append("Test")
            self.arraName.append("pravin")
            self.arraName.append("Jay")
            print("arraName  ==> \(self.arraName)")

//Объявляем Store All Type Value

   var  arrAllTypeValue = [Any]()

        //Add  value allType Like Int,String,Float 
        self.arrAllTypeValue.append(1)
        self.arrAllTypeValue.append("Pravin")
        self.arrAllTypeValue.append(12.00)
        print("ArrayAllTypeValue ==>\(self.arrAllTypeValue)")

Ответ 14

Совместим с: Xcode 6.0. 1+

Вы можете создать пустой массив, указав тип Element вашего массива в объявлении.

Например:

// Shortened forms are preferred
var emptyDoubles: [Double] = []

// The full type name is also allowed
var emptyFloats: Array<Float> = Array()

Пример со страницы разработчика Apple (Array):

Надеюсь, это поможет любому, кто наткнется на эту страницу.

Ответ 15

Согласно Swift 5

    // An array of 'Int' elements
    let oddNumbers = [1, 3, 5, 7, 9, 11, 13, 15]

    // An array of 'String' elements
    let streets = ["Albemarle", "Brandywine", "Chesapeake"]

    // Shortened forms are preferred
    var emptyDoubles: [Double] = []

    // The full type name is also allowed
    var emptyFloats: Array<Float> = Array()