【新サービス告知】いつでもどこでもイベントを開催できる。スマホのWebカメラを利用したVRイベントスペースサービス(Meetatcube.com)
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

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

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

HOME > NSDictionary

NSDictionary

NSDictionaryはキーがついた配列。配列Arrayの場合はhogeArr[0]等で要素にアクセスしますが、 Dictionaryの場合は、hogeDic["key1"]等でアクセスします。

サンプル画像

NSDictionaryのクラス階層

NSObject

NSDictonary

参考Appleサイト(英語): Foundation Framework Reference NSDictionary Class Reference
参考:SwiftのArrayとDictionaryの使い方

NSDictonary,Dictonaryの違い

Objective-Cで利用していたNSDictionaryがSwiftではDictionaryが新しく実装されていますので、Dictionaryを説明いたします。

Array,Dictonaryの違い

この違いをいつも悩む時がありますので覚書に以下記載します。

Arrayは番号で要素を取り出す


var hogeArr: String[] = ["hoge1", "hoge2", "hoge3", "hoge4"];
println(hogeArr[0]);

DictionaryはKeyで要素を取り出す


var hogeDic: Dictionary = ["title": "swift-salaryman", "url": "http://swift-salaryman.com/"]
println(hogeDic["title"]);

Dictonary例文



var hogeDic: Dictionary = ["title": "swift-salaryman", "url": "http://swift-salaryman.com/"]
println(hogeDic["title"]);

//データ追加
hogeDic["pagerank"] = "3";
println(hogeDic["pagerank"]);

//要素個数
println(hogeDic.count);

//中身を一気に取得
println(Array(hogeDic.keys));//pagerank,title,url
println(Array(hogeDic.values));//3,swift-salaryman,http://swift-salaryman.com/

//データ更新
hogeDic.updateValue("0", forKey: "pagerank") 
println(hogeDic["pagerank"]);

//データ削除
hogeDic.removeValueForKey("pagerank")
println(Array(hogeDic.keys));//title,url

上記例はDictionary型に自動でString型が配置されています。


var hogeDic: Dictionary = ["title": "swift-salaryman", "url": "http://swift-salaryman.com/"]
と宣言すると、
var hogeDic: Dictionary<String,String> = ["title": "swift-salaryman", "url": "http://swift-salaryman.com/"]
と同じになります。

同様に数字を含めてDictionaryを作成すると、同様に自動で型がセットされているようです。


var hogeDic: Dictionary = ["key1": 0, "key2": "test"]
と宣言すると、
var hogeDic: Dictionary<Int,String> = ["key1": 0, "key2": "test"]
と同じになります。

Dictonaryの為になるリンクまとめ

いつもQiita様には勉強させていただいています。。。
参考:Swift の Dictionary で nil を扱う
参考:Swiftで定数(let)のArrayの要素は変更できるけどDictionaryでは変更できない理由
参考:The Swift Programming Language - Collection Types(集合型、Array とか Dictionary)をまとめる

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


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のバージ...
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!