Я действительно смущен тем, как мы создаем массив в 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()