[ios] Swift에서 배열에 요소 추가

예를 들어 배열이 있다고 가정하십시오.

var myArray = ["Steve", "Bill", "Linus", "Bret"]

그리고 나중에 해당 배열의 끝에 요소를 푸시 / 추가하여 다음을 얻습니다.

["Steve", "Bill", "Linus", "Bret", "Tim"]

어떤 방법을 사용해야합니까?

그리고 배열 앞에 요소를 추가하려는 경우는 어떻습니까? 변하지 않는 일정한 시간이 있습니까?



답변

Swift 3/4/5 기준 으로 다음과 같이 수행됩니다.

Array 끝에 새 요소를 추가합니다.

anArray.append("This String")

배열 끝에 다른 배열을 추가합니다.

anArray += ["Moar", "Strings"]
anArray.append(contentsOf: ["Moar", "Strings"])

새 요소를 배열에 삽입합니다.

anArray.insert("This String", at: 0)

다른 Array의 내용을 Array에 삽입합니다.

anArray.insert(contentsOf: ["Moar", "Strings"], at: 0)

자세한 정보는 ” Swift Programming Language ” 의 “컬렉션 유형”장 , 110 페이지 에서 찾을 수 있습니다 .


답변

원하는 경우 변수 및 / 또는 객체를 전달할 수도 있습니다.

var str1:String = "John"
var str2:String = "Bob"

var myArray = ["Steve", "Bill", "Linus", "Bret"]

//add to the end of the array with append
myArray.append(str1)
myArray.append(str2)

그것들을 앞에 추가하려면 :

//use 'insert' instead of append
myArray.insert(str1, atIndex:0)
myArray.insert(str2, atIndex:0)

//Swift 3
myArray.insert(str1, at: 0)
myArray.insert(str2, at: 0)

다른 사람들이 이미 언급했듯이 더 이상 xCode 6.1부터 ‘+ =’를 사용할 수 없습니다


답변

끝에 추가하려면 +=연산자를 사용하십시오 .

myArray += ["Craig"]
myArray += ["Jony", "Eddy"]

해당 연산자는 일반적으로 append(contentsOf:)메소드 와 동일합니다 . (그리고 실제로 구형 Swift 버전에서는 동일한 요소 유형의 다른 컬렉션뿐만 아니라 단일 요소를 추가 할 수 있습니다.)

insert(_:at:)모든 인덱스에 삽입 할 수도 있습니다 .

예를 들어, 처음에 삽입하기위한 편리한 함수를 원한다면 확장명으로Array 클래스에 추가 할 수 있습니다 .


답변

+ = 및 + 연산자를 사용하십시오.

extension Array {

}

func += <V> (inout left: [V], right: V) {
    left.append(right)
}

func + <V>(left: Array<V>, right: V) -> Array<V>
{
    var map = Array<V>()
    for (v) in left {
        map.append(v)
    }

    map.append(right)

    return map
}

그런 다음 사용하십시오 :

var list = [AnyObject]()
list += "hello"
list += ["hello", "world!"]
var list2 = list + "anything"


답변

첫 번째 위치에서 항목을 잃지 않고 배열의 시작 부분에 삽입하려는 경우 작은 확장입니다.

extension Array{
    mutating func appendAtBeginning(newItem : Element){
        let copy = self
        self = []
        self.append(newItem)
        self.appendContentsOf(copy)
    }
}


답변

Swift 4.1 및 Xcode 9.4.1에서

기본적으로 두 가지 방법으로 객체를 Array에 추가 할 수 있습니다

let stringOne = "One"
let strigTwo = "Two"
let stringThree = "Three"
var array:[String] = []//If your array is string type

타입 1)

//To append elements at the end
array.append(stringOne)
array.append(stringThree)

타입 2)

//To add elements at specific index
array.insert(strigTwo, at: 1)

두 개의 배열을 추가하려는 경우

var array1 = [1,2,3,4,5]
let array2 = [6,7,8,9]

let array3 = array1+array2
print(array3)
array1.append(contentsOf: array2)
print(array1)


답변

스위프트 프로그래밍 언어의 143 페이지에서 :

배열의 append 메소드를 호출하여 배열 끝에 새 항목을 추가 할 수 있습니다

또는 더하기 대입 연산자 (+ =)를 사용하여 배열 끝에 새 항목을 추가하십시오.

발췌 : Apple Inc.“Swift Programming Language.” iBooks. https://itun.es/us/jEUH0.l