2017-11-23 13 views
-2

Ich habe eine NSMutableDictionary mit verschiedenen Schlüsseln und Werten. Alle Schlüsselwerte, die ich in Swift3 in NSMutableArray speichern muss.Wie fügt man NSMutableDictionary Werte in NSMutableArray

Hier ist meine NSMutableDictionary:

{ 
    92 =  (
     "<Group.VideoRange: 0x6040003a09a0>", 
     "<Group.VideoRange: 0x6040003a0c40>" 
    ); 
    93 =  (
     "<Group.VideoRange: 0x6040003a0540>" 
    ); 
    } 

Hinweis: Hier 92 und 93 ist mein Dictionary-Schlüssel.

Unten ist mein Code, um Wörterbuch alle Werte in meinem Array hinzuzufügen.

for value in videoRangeDic.allValues{ 

    arrVideoRange.add(value) 
} 

Als Ausgang Ich bin unter Array-Wert bekommen:

(
     (
     "<Group.VideoRange: 0x6040003a0540>" 
    ), 
     (
     "<Group.VideoRange: 0x6040003a09a0>", 
     "<Group.VideoRange: 0x6040003a0c40>" 
    ) 
) 

Stattdessen möchte ich meine Ausgabe sein sollte:

(
     "<Group.VideoRange: 0x6040003a0540>", 
     "<Group.VideoRange: 0x6040003a09a0>", 
     "<Group.VideoRange: 0x6040003a0c40>" 
    ) 

Der Grund Wörterbuch wird Werte zu speichern in Array like(), also muss ich nur dieses Array entfernen. Kann mir bitte jemand helfen, mein Problem zu lösen, ohne ein neues Array zu erstellen. Vielen Dank!

Antwort

0

Wenn Ihr arrVideoRange ist NSMutableArray wie diese

var arrVideoRange : NSMutableArray = [] 

dann versuchen, diese

for value in videoRangeDic.allValues{ 

    arrVideoRange.addObjects(from: value as [Any]) 

} 
+0

@ user2786 Kasse meine Antwort –

+0

Vielen Dank für Ihre Antwort @jignesh. Ich habe versucht, über Code aber immer den Array-Ausgang wie ( ( "" ), ( "", "" ) ) – user2786

+0

können Sie bitte ArrVideoRange Deklarationscode hinzufügen? –

1

Sie können Code einzelne Zeile alle den Wert Ihrer dic erhalten

print("values array : \(videoRangeDic.map{$0.value}.flatMap{$0})") 
+0

Danke @iPatel für deine Zeit, habe ich oben Lösung versucht. Ich bekomme meine Array-Ausgabe nicht in single(). – user2786

+1

Ja, weil Sie objektive c-Array und Wörterbuch verwenden, warum – iPatel

+0

Gibt es eine Möglichkeit, objektive c-Array und Wörterbuch in swift zu konvertieren? – user2786

0

Sie können Verwenden Sie flatMap, um das Array der Wörterbücher auf Array zu reduzieren

let array = groupDicts.flatMap { $0.values.joined() } 

or 

let newArray = Array(dicts.lazy.flatMap { $0.values }.joined()) 
Verwandte Themen