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



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

743   10  

10 ответов:

вот так:

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)
}

это должно помочь вам начать!

var myArr1 = [AnyObject]()

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

var myArr2 = [String]()

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

вы могли бы использовать

var firstNames: [String] = []

Swift 3

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

Метод 1: Сокращенный Синтаксис

var arr = [Int]()

Метод 2: Инициализатор Массива

var arr = Array<Int>()

Метод 3: массив с литералом массива

var arr:[Int] = []

метод 4: кредит идет в @BallpointBen

var arr:Array<Int> = []

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

var myArray = [Double]()

Это позволит создать массив, удваивается.

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

это создаст массив из 5 двойников, все инициализированные со значением 2.0.

вот некоторые общие задачи в 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

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

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

let emptyArray = [String]()

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

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

для создания массива типа String с элементами

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

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

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

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

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

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

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

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

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

groceryList.append("Flour")

groceryList теперь содержит 3 пункта.

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

groceryList += ["Baking Powder"]

groceryList теперь содержит 4 пункта

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

groceryList теперь содержит 7 пунктов

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

    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)

Array(repeating: 0, count: 10). Я часто использую это для операторов сопоставления, где мне нужно определенное количество макетных объектов. Например,

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

Если вы хотите объявить пустой массив строкового типа, вы можете сделать это 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> = []

массив целочисленного типа : -

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

Comments

    Ничего не найдено.