0
obj.var = newValue
그러나 같은 객체 자체의 값을 변경하려면 for 루프에서의
for item in myArray.filter(...) {
item.var = newValue
}
같은 로컬이 단지 효과 로컬 복사본을이 가져올 때. 나는
index = myArray.index(of: item)
myArray[index].var = newValue
처럼 원래 배열 내의 인덱스를 사용하여 작업을 수행 할 수 있습니다 그러나 이것은 너무 이상하고 매우 우아하지 나에게 확대됨하지 보인다. 더 간단한 해결책이 있고, 읽기 쉽고 (쓰고) 어쩌면 모든 목록/배열에 대한 일반적인 해결책일까요? 이 일반적인 작업을 어떻게 처리합니까?
(I 스위프트 3.0을 사용하고 있습니다)
첫 번째 코드 줄은 ** 특정 ** var (또는 ** 특정 배열 인덱스 ** var)를 업데이트하려고하지만 다음 코드 조각 (for ..in 루프)는 ** 모든 배열 ** 변수를 업데이트하려는 소망을 제안합니다. 후자의 경우, 0 ..
dfd
루프는 예입니다. 개체의 값을 변경하려면 "item"의 로컬 버전이 아니라 myArray에서도 (additionaly). 그래서 myArray에 루프를 다시 실행하면 업데이트 된 값이 있습니다. 또한 필터링 된 부분 집합에서 발생할 수 있으므로 루프 내에서 사용되는 인덱스가 전역 배열 (myArray)에 대해 동일하지 않습니다. –
클래스 구조체를 찾으려면 'obj' 선언을 표시하십시오. – shallowThought