Swift'te bir dizi oluşturma yöntemlerimizle gerçekten kafam karıştı. Bazı detayları içeren boş bir dizi oluşturmanın kaç yolunu söyleyebilir misiniz?
Swift'te bir dizi oluşturma yöntemlerimizle gerçekten kafam karıştı. Bazı detayları içeren boş bir dizi oluşturmanın kaç yolunu söyleyebilir misiniz?
Yanıtlar:
Hadi bakalım:
var yourArray = [String]()
Yukarıdakiler sadece dizgiler için değil, diğer tipler için de çalışır. Bu sadece bir örnek.
Ona Değer Ekleme
Sonunda buna bir değer eklemek isteyeceğinizi düşünüyorum!
yourArray.append("String Value")
Veya
let someString = "You can also pass a string variable, like this!"
yourArray.append(someString)
Ekleyerek Ekle
Birkaç değeriniz olduğunda, eklemek yerine yeni değerler ekleyebilirsiniz. Örneğin, dizinin başına yeni nesneler eklemek istiyorsanız (sonuna eklemek yerine):
yourArray.insert("Hey, I'm first!", atIndex: 0)
Veya eklemenizi daha esnek hale getirmek için değişkenleri kullanabilirsiniz:
let lineCutter = "I'm going to be first soon."
let positionToInsertAt = 0
yourArray.insert(lineCutter, atIndex: positionToInsertAt)
Sonunda bazı şeyleri kaldırmak isteyebilirsiniz
var yourOtherArray = ["MonkeysRule", "RemoveMe", "SwiftRules"]
yourOtherArray.remove(at: 1)
Yukarıdaki değer dizide nerede olduğunu bildiğinizde (yani, dizin değerini bildiğinizde) harika çalışır. İndeks değerleri 0'dan başladığında, ikinci giriş indeks 1'de olacaktır.
Dizini Bilmeden Değerleri Kaldırma
Ama ya yapmazsan? DiğerArray'nizde yüzlerce değer varsa ve bildiğiniz tek şey, "RemoveMe" değerine eşit olanı kaldırmak istediğinizdir?
if let indexValue = yourOtherArray.index(of: "RemoveMe") {
yourOtherArray.remove(at: indexValue)
}
Bu senin başlamanı sağlamalı!
var myArr1 = [AnyObject]()
herhangi bir nesneyi saklayabilir
var myArr2 = [String]()
sadece dizeyi saklayabilir
Hızlı 3
Swift ve steno sözdiziminde boş bir dizi oluşturmanın üç (3) yolu vardır. her zaman yolu tercih edilir.
Yöntem 1: Steno Sözdizimi
var arr = [Int]()
Yöntem 2: Dizi Başlatıcısı
var arr = Array<Int>()
Yöntem 3: Dizi Dizisi ile Dizi
var arr:[Int] = []
Yöntem 4: Kredi @BallpointBen
var arr:Array<Int> = []
var arr: Array<Int> = []
. [T]
sadece kısayolArray<T>
Hızlı bir şekilde bir dizi oluşturmak / başlatmak için 2 ana yolu vardır.
var myArray = [Double]()
Bu, bir Çiftler dizisi oluşturur.
var myDoubles = [Double](count: 5, repeatedValue: 2.0)
Bu, tümü 2.0 değeriyle başlatılan 5 çift kişilik bir dizi oluşturur.
var myDoubles = [Double](repeating: 2.0, count: 5)
not parametrelerinin düzenin değişimi ve etiketinde değişikliği - repeatedValue
içinrepeating
Boş bir dize türü dizisi bildirmek isterseniz, bunu 5 farklı şekilde yapabilirsiniz: -
var myArray: Array<String> = Array()
var myArray = [String]()
var myArray: [String] = []
var myArray = Array<String>()
var myArray:Array<String> = []
Herhangi bir tür dizi: -
var myArray: Array<AnyObject> = Array()
var myArray = [AnyObject]()
var myArray: [AnyObject] = []
var myArray = Array<AnyObject>()
var myArray:Array<AnyObject> = []
Tamsayı türü dizisi: -
var myArray: Array<Int> = Array()
var myArray = [Int]()
var myArray: [Int] = []
var myArray = Array<Int>()
var myArray:Array<Int> = []
Swift 4'te, şeylere alışana kadar referans olarak kullanabileceğiniz bazı genel görevler.
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 içindeki dizi ** Dizi <Element> ** olarak yazılır, burada Element dizinin saklamasına izin verilen değer türüdür.
Dizi şu şekilde başlatılabilir:
let emptyArray = [String]()
Bu bir dizi dize olduğunu gösterir
EmptyArray değişkeninin türünün, başlatıcı türünden [Dize] olduğu anlaşılır.
Öğe dizisi dizisini öğelerle oluşturmak için
var groceryList: [String] = ["Eggs", "Milk"]
groceryList iki öğeyle başlatıldı
GroceryList değişkeni “bir dizi dize değeri” olarak bildirildi [String] olarak yazılan . Bu belirli dizi, Dize değer türünü belirtmiştir, yalnızca Dize değerlerini depolamasına izin verilir.
Dizinin çeşitli özellikleri vardır:
- Dizinin öğeleri olup olmadığını kontrol etmek için (Dizi boşsa veya değilse)
count özelliğinin 0'a eşit olup olmadığını kontrol etmek için isEmpty özelliği (Boolean):
if groceryList.isEmpty {
print("The groceryList list is empty.")
} else {
print("The groceryList is not empty.")
}
- Diziye eleman ekleme (ekleme)
Dizinin append (_ :) yöntemini çağırarak dizinin sonuna yeni bir öğe ekleyebilirsiniz:
groceryList.append("Flour")
groceryList artık 3 ürün içeriyor.
Alternatif olarak, ekleme ataması operatörüne (+ =) bir veya daha fazla uyumlu öğeden oluşan bir dizi ekleyin:
groceryList += ["Baking Powder"]
groceryList artık 4 öğe içeriyor
groceryList += ["Chocolate Spread", "Cheese", "Peanut Butter"]
groceryList artık 7 öğe içeriyor
Swift 5'e göre
// 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()
dizi içeriğini dizi dizinini geçerek kaldırabilir veya tümünü kaldırabilirsiniz
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)
Hızlı 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)
}
Benzer bir cevap verilir, ancak bu Swift'in (Swift 5) en son sürümü için çalışmaz, bu yüzden güncellenmiş cevap. Umarım yardımcı olur! :)
Önceden tanımlanmış bir sayıya sahip bir dizi başlatma:
Array(repeating: 0, count: 10)
Ben genellikle belirtilen sayıda sahte nesneye ihtiyaç duyduğum ifadeleri eşlemek için kullanıyorum. Örneğin,
let myObjects: [MyObject] = Array(repeating: 0, count: 10).map { _ in return MyObject() }
İle uyumlu: Xcode 6.0.1+
Bildirimde dizinizin Öğe türünü belirterek boş bir dizi oluşturabilirsiniz.
Örneğin:
// Shortened forms are preferred
var emptyDoubles: [Double] = []
// The full type name is also allowed
var emptyFloats: Array<Float> = Array()
Elma geliştirici sayfasından örnek (Dizi):
Umarım bu, bu sayfaya tökezleyen herkese yardımcı olur.