私は迅速に学習しようとしています。私が行うとき:カスタムタイプの配列内の単一の要素を変更する方法
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