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

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

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)をまとめる

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

大阪都構想の橋下さんの鼻に誠意をもって顔認識処理で画鋲を刺す

先日大阪都構想でニュースがざわついておりましたが、 そこで自分が思っていたこと、なぜ鼻ピンしたのかを顔認識サンプルと誠意を込めて書き記してまいります。(※選挙ポスターに画鋲を刺す事や、そもそも「他人様」の画像を変更することがタブーな事を理解しつつの投稿です。問題がないかの問い合わせメールを送る予定です。画像はWikipediaからの引用です)

アプリを常にActiveにForegroundにした状態で写真を撮影できるか

写真は音をたてないと撮影できなかったり不便なことが多いのでできるのかよくわかりませんので検証

UIActivityIndicatorView

iOSでローディングをする簡単な方法は標準のインディケータを表示する方法です。画面中央でぐるぐる回ります。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!