Swift에서 빈 배열을 만드는 방법은 무엇입니까?


154

Swift에서 배열을 만드는 방법과 혼동됩니다. 빈 배열을 만드는 방법은 몇 가지입니까?


9
var myArray : [String] = []
Leo Dabus



배열에 객체를 저장하려면 어떻게해야합니까?
이누야사

var myArray : [AnyObject] = []
Leo

답변:


296

여기 있습니다 :

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.remove(at: 1)

위의 내용은 배열에서 값의 위치를 ​​알 때 (즉, 색인 값을 알고있을 때) 효과적입니다. 인덱스 값이 0에서 시작하면 두 번째 항목은 인덱스 1에있게됩니다.

인덱스를 몰라도 값 제거

그러나 그렇지 않으면 어떻게해야합니까? yourOtherArray에 수백 개의 값이 있고 "RemoveMe"와 동일한 값을 제거하려면 어떻게해야합니까?

if let indexValue = yourOtherArray.index(of: "RemoveMe") {
    yourOtherArray.remove(at: indexValue)
}

시작해야합니다!


왜이 답변이 가장 많은 투표를했는지 확실하지 않습니다. OP가 묻지 않은 많은 질문에 대답하지만 질문에 '빈 배열을 만드는 방법이 몇 가지 있는지 알려주십시오'라는 빈 배열을 만드는 한 가지 방법 만 제공합니다.
Kal

27
var myArr1 = [AnyObject]()

모든 객체를 저장할 수 있습니다

var myArr2 = [String]()

문자열 만 저장할 수 있습니다


배열 목록에 요소를 추가하는 방법을 알려줄 수 있습니까
Gowthaman M

25

당신은 사용할 수 있습니다

var firstNames: [String] = []

24

스위프트 3

Swift에서 빈 배열을 만드는 세 가지 방법이 있으며 단축 구문 방식이 항상 선호됩니다.

방법 1 : 속기 구문

var arr = [Int]()

방법 2 : 배열 이니셜 라이저

var arr = Array<Int>()

방법 3 : 배열 리터럴이있는 배열

var arr:[Int] = []

방법 4 : 신용은 @BallpointBen으로 이동

var arr:Array<Int> = []

1
또는 var arr: Array<Int> = []. [T]Array<T>
BallpointBen

@XinyangLi 단축 구문이 선호되는 이유는 무엇입니까? 이 4 가지 방법 사이에 컴파일 시간에 차이가 있습니까?
KlimczakM

20

신속하게 어레이를 생성 / 초기화하는 두 가지 주요 방법이 있습니다.

var myArray = [Double]()

이것은 복식 배열을 만듭니다.

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

이것은 2.0의 값으로 초기화 된 5 배의 배열을 만듭니다.


감사합니다.`var myArray = [AnyObject] ()`처럼 선언 할 수 있습니까?
이누야사

그렇습니다 .'AnyObject '배열을 만들면 거기에 거의 모든 것을 넣을 수 있습니다. 이와 같은 배열이 필요하지 않으면 'var myArray = [String] ()'과 같은 특정 값을 지정하는 것이 좋습니다.
Aaron

: 주 스위프트 (4)는 다음과 같은 값을 반복하여 배열을 초기화하기위한 구문을 변경 var myDoubles = [Double](repeating: 2.0, count: 5)노트 매개 변수의 질서의 변화와 레이블의 변화 - repeatedValuerepeating
HirdayGupta을

8

빈 문자열 배열을 선언하려면 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> = []

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

4

신속한 배열은 ** Array <Element> **로 작성되며, 여기서 Element는 배열에 저장할 수있는 값의 유형입니다.

배열은 다음과 같이 초기화 될 수 있습니다.

let emptyArray = [String]()

문자열 유형의 배열임을 보여줍니다.

emptyArray 변수의 유형은 이니셜 라이저 유형에서 [문자열] 인 것으로 추론됩니다.

요소가 포함 된 문자열 유형의 배열 만들기

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

groceryList는 두 항목으로 초기화되었습니다

groceryList 변수는 "문자열 값의 배열"로 선언 되며 [문자열]로 작성됩니다. 이 특정 배열은 문자열의 값 유형을 지정했으며 문자열 값만 저장할 수 있습니다.

다음과 같은 다양한 배열 특성이 있습니다.

-배열에 요소가 있는지 확인하려면 (배열이 비어 있는지 여부)

count 속성이 0인지 확인하기위한 isEmpty 속성 (Boolean) :

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 개의 아이템을 포함합니다


3

스위프트 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()

2

배열 인덱스를 전달하여 배열 내용을 제거하거나 모두 제거 할 수 있습니다

    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)

1

스위프트 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)에서는 작동하지 않으므로 업데이트 된 답변입니다. 그것이 도움이되기를 바랍니다! :)


1

사전 정의 된 개수로 배열을 시작합니다.

Array(repeating: 0, count: 10)

종종 지정된 수의 모의 객체가 필요한 명령문을 매핑하는 데 이것을 사용합니다. 예를 들어

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


0

호환 가능 : Xcode 6.0.1+

선언에서 배열의 요소 유형을 지정하여 빈 배열을 작성할 수 있습니다.

예를 들면 다음과 같습니다.

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

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

애플 개발자 페이지의 예 (배열) :

이것이 누군가가이 페이지에 걸려 넘어지기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.