Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > NSMutableArray

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"] 

↓こんな記事もありますよ!

GはGoogle他のアルファベットを勝手に妄想してみる

さて昨日はGoogleが衝撃的な発表でAlphabetという親会社をつくって、Googleはアルファベットの中のGがGoogleとの 位置づけで今後展開していくとの事。ネーミングもですが、今後の期待を大きく感じる、またわかりやすく好印象だったのか株価も 大きく上がったとのことでした。さて、その他残りのアルファベットはどんな風になるのかなぁと勝手に歩きながら妄想してみました。

NSURLSessionでバックグラウンドで通信処理

NSURLConnectionの進化版のような立ち位置に私は感じております。アプリがバックグラウンドになっても通信処理を続けてくれる優れものです。 以前まではどうやら音声や位置情報だけに限られていましたが、このクラスによって大きなデータをユーザに気持ちよくDLしてもらうことも可能にです。

presentViewControllerで画面遷移下からビョーン

下からビョーンとUIViewControllerを出す方法を記載します。この処理も多用していたのですがこのHPになかったので追記しました。 Navigationと連動させた横へシャーと移動するスライドの関数(pop)とは違うので注意です。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!