辞書(Dictionary)
目次>
Objective-CでDictionaryと呼ばれているもの。 他の言語では連想配列とか
func function001() ->String { var members = [ "鈴木さん": "部長", "山田さん": "課長", ] members["鈴木さん"] = "嘱託" return members["鈴木さん"]! } override func viewDidLoad() { super.viewDidLoad() NSLog("現在の役職 %@",function001()) }
要素数は .count プロパティ(?)
func function003() { var myMembers = [ "鈴木さん": "部長", "田中さん": "次長", "山田さん": "課長", ] myMembers["鈴木さん"] = "嘱託" for (theName, theTitle) in myMembers { println("\(theName): \(theTitle)") } } //=>メンバーは3人です。
for in で(key,value)として値が渡される
var myMembers = [ "鈴木さん": "部長", "田中さん": "次長", "山田さん": "課長", ] myMembers["鈴木さん"] = "嘱託" for (theName, theTitle) in myMembers { println("\(theName): \(theTitle)") } /* => 山田さん: 課長 鈴木さん: 嘱託 田中さん: 次長 */
オプショナル
func function004(){ let myMembers = ["ant":6,"snake":0,"cheetah":4] let possibleLegCount: Int? = myMembers["aardvark"] if possibleLegCount == nil{ println("Aardvarkは見つかりませんでした。") } }
NSDictionary
swiftのDictionaryではなくNSDictionaryを作ることも必要な場合があるので
//NSApplication orderFrontStandardAboutPanelWithOptions @IBAction func function015(sender: AnyObject) { NSLog("orderFrontStandardAboutPanelWithOptions") let anApplication = MyApplication.sharedApplication() //アバウトパネルの情報表示用NSDictionaryを設定 let panelDic:Dictionary<String, String> = ["Version" : "1.1", "Copyright" : "satoshi oomori"]; //表示用 for key in panelDic.keys{ println("\(key) : \(panelDic[key])"); } //アバウトパネルを表示 anApplication.orderFrontStandardAboutPanelWithOptions(panelDic) }