HOME > NSMutableArray
NSMutableArray
Swiftでは頻繁に配列クラスといえばArrayクラスを利用します。
ですがObjective-C時のNSMutableArrayやNSArrayも
継続して利用することができます。なにが違うのでしょうか?それも含めて説明いたします。
参考:【Swift入門】ArrayとNSMutableArray/NSArrayの違い
NSMutableArrayとNSArrayの違い
読み専用=NSArray(immutable)か
読み書きどちらもOK=NSMutableArray(mutable)
の違いになります。
つまり配列の中身を後で変更できるのがNSMutableArrayとなります。
var swiftarr = NSMutableArray(array: ["swift-salaryman"])
swiftarr[1] = "swift-salarygirl"
println(swiftarr) // ["swift-salaryman", "swift-salarygirl"] と出力します
var swiftarr2 = NSArray(array: ["swift-salaryman"])
swiftarr2[1] = "swift-salarygirl"//エラー
println(swiftarr2);
SwiftのArrayクラスはNS系のArrayと何が違うのか?
読み専用=NSArray(immutable)=let Arrayか
読み書きどちらもOK=NSMutableArray(mutable)=var Array
の違いになります。
つまり宣言時のvarかletかで書き換え可能かを割り振ることができます
となると、違いはないのか? ー> (あります!違いは「参照型」かどうか)
NS系は参照型ですので、参照元と参照先に変化があった際はそれぞれに影響がでます。
参照型(NS系)
var swiftarr = NSMutableArray(array: ["swift-salaryman"])
var swiftarr2 = swiftarr;
swiftarr.addObject("swift-salarywoman")
println(swiftarr2) //["swift-salaryman", "swift-salarywoman"]
非参照型(標準Array)
var swiftarr = Array(array: ["swift-salaryman"])
var swiftarr2 = swiftarr;
swiftarr.addObject("swift-salarywoman")
println(swiftarr2) //["swift-salaryman"]
↓こんな記事もありますよ!
![]() 2021-04-22 14:54:53 | かっこいいカルーセル厳選3点!WebGLを使った渋い画像スライダー。
昨日カッコいいスライダーを探す旅にでていました。
よく使われるswiper など、シンプルで使いやすくデザインも良いのですが、何かもの足りない、、、。
そこで調べていくと、webglを使... |
![]() 2021-04-20 14:46:43 | Twillioとは何??skywayとは何が違うのか。webrtcを使う際に判断する情報。
先日webrtc開発で「twillio」といった名前を聞きました。
以前自分でskywayを使ってwebrtcを試していた際に調べた時には、無かったような気もするんだけと、KDDIが絡んでいる... |
![]() 2021-04-19 13:58:21 | 先日久々にアップデートした妊娠週刊パパのAndroid版も。アカウント移管したいんだけど、注文ID見当たらないよ。
先日の妊娠、出産、育児関連のアプリ「妊娠週刊パパ」をAndroid studioで再リリースしようと思ってるんだけど、コンパイル失敗してエミュレータで動かせない。
多分sdkとかapiのバージ... |
Tweet
![]() |
|||
|