0

NSMutableDictionary のすべてのキー値を文字列配列として取得しようとしています。これを使用しmyNSMutableDictionary.allkeysて値を配列として取得していますが、キー値をアンラップする方法が見つかりません。

これは私がこれまでに試したことです:

for (key, _) in NSMutableDictionary {
        println("THIS IS MY NEW KEY\(key)")
    }

そして、私はこれを試しました

var myArray:NSArray =  myNSMutableDictionary.allKeys
var string:NSString? = uniqueIDArray[0] as? NSString
println("This is unwraped value\(string!)")

この

var myArray:Array =  myNSMutableDictionary.allKeys
println("This is unwraped value\(myArray[0])")

必要なキー値ではOptional("kMSZgoTmiX")なく、値を取得し続けますkMSZgoTmiX

お世話になりました!

4

2 に答える 2

1

したがって、文字列である値を持つ辞書があります(およびキーは何かであり、文字列であると仮定します):

var dictionaryOfStringValues : [String:String] = /* your dictionary */

そして、コンテンツを反復したい:

for (key, val) in dictionaryOfStringValues {
  // use key and val
}

簡単に反復できる方法で値が必要な場合は、次のようにします。

var theValues = dictionaryOfStringValues.values

あなたがそれを主張するtheValuesならArray

   var theValuesAsAnArray = Array(dictionaryOfStringValues.values)

NSMutableDictionary から開始する場合は、Swift コードを最初に入力するポイントで Swift Dictionary に変換します。asそれを行うには、バリアントを使用します。あとはピュアスイフト。

このような:

  7> for (key, value) in ["a":1, "b":2] { 
  8.     println (key) 
  9.     println (value) 
 10. }    
b
2
a
1
于 2015-03-25T01:48:20.717 に答える
0
let myNSMutableDictionary = NSMutableDictionary()

myNSMutableDictionary["myKey1"] = 5
myNSMutableDictionary["myKey2"] = 10
myNSMutableDictionary["myKey3"] = 15

let myKeysArrayUnsorted =  myNSMutableDictionary.allKeys as [String]
let myValuesArrayUnsorted =  myNSMutableDictionary.allValues as [Int]

let keyString = myKeysArrayUnsorted[0]  // "myKey2"
let keyValue  = myNSMutableDictionary[keyString] as Int // 10

println("This is my first unsorted key \(keyString) = \(keyValue)")

let myKeysArraySorted =  (myNSMutableDictionary.allKeys as [String]).sorted(<)

for key in myKeysArraySorted {
    println(myNSMutableDictionary[key]!)  // 5 10 15
}
于 2015-03-25T03:01:03.037 に答える