신속하게 배우려고합니다. 내가 할 때 :사용자 정의 유형의 배열에서 단일 요소를 수정하는 방법
var myIntArray = [Int](count: 3, repeatedValue: 0)
myIntArray[0] = 1
myIntArray[1] = 11
myIntArray[2] = 111
// prints "my array: [1, 11, 111]"
NSLog("my int array: [%d, %d, %d]", myIntArray[0], myIntArray[1], myIntArray[2])
예상대로 작동
,하지만이 같은 클래스의 INT를 포장 할 때 :
class Foo {
var bar = 0
}
var myWrappedIntArray = [Foo](count: 3, repeatedValue: Foo())
myWrappedIntArray[0].bar = 1
myWrappedIntArray[1].bar = 11
myWrappedIntArray[2].bar = 111
// prints "my array: [111, 111, 111]"
NSLog("my wrapped int array: [%d, %d, %d]", myWrappedIntArray[0].bar, myWrappedIntArray[1].bar, myWrappedIntArray[2].bar)
하나의 요소를 수정하려고 할 때 전체 배열을 수정하는 것 같다. 여기서 내가 뭘 잘못하고 있니?
아마'repeatedValue'에 대한 나의 인수는 단일'Foo' 인스턴스를 만들고이 인스턴스에 대한 포인터로 배열을 채 웁니다? 그러나 그것을 고치는 방법? – Kevin
"NSlog"대신 "print"를 사용하지 않는 이유는 무엇입니까? –
@RashmiRanjanmallick iOS 개발에서 NSLog를 사용하는 데 익숙해 져서 문제의 실제와 관련이 있습니까? – Kevin