2017-11-23 33 views
-2

다른 키와 값을 가진 NSMutableDictionary가 있습니다. Swift3의 NSMutableArray에 저장해야하는 모든 키 값.NSMutableArray에 NSMutableDictionary 값을 추가하는 방법

여기 내 NSMutableDictionary입니다 :

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

주 : 다음은 92, 93 내 사전 키입니다.

다음은 배열에 모든 값을 사전에 추가하는 코드입니다. 출력으로

for value in videoRangeDic.allValues{ 

    arrVideoRange.add(value) 
} 

, 내가 배열 값 아래로 점점 오전 : 이유는 사전에 값을 저장한다

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

:

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

을 대신 내가 좋아하는 내 출력해야합니다 array like(), 그래서 그냥이 배열을 제거해야합니다. 누구든지 새로운 배열을 만들지 않고도 내 문제를 해결할 수 있도록 도와주세요. 고맙습니다!

답변

0

당신의 arrVideoRange

var arrVideoRange : NSMutableArray = [] 

같은 NSMutableArray 경우,이

for value in videoRangeDic.allValues{ 

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

} 
+0

@ user2786 checkout 내 대답 –

+0

답장을 보내 주셔서 감사합니다. @jignesh. I 코드 위에 시도했지만 ( ( 같은 어레이 출력을 얻기 "" ) ( "" "" ) ) – user2786

+0

arrVideoRange 선언 코드를 추가 할 수 있습니까? –

1

당신은 단 한 줄의 코드하여 DIC의 모든 값을 얻을 수하려고

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

시간 내 주셔서 감사합니다 @iPatel, 위의 해결책을 시도했습니다. 배열 출력을 single()로 가져 오지 못했습니다. – user2786

+1

예 객관적인 C 배열 및 사전을 사용하기 때문에 그 이유는 – iPatel

+0

객관적인 C 배열 및 사전을 신속하게 변환 할 수있는 방법이 있습니까? – user2786

0

당신이 할 수있는 flatMap을 사용하여 사전 배열을 배열로 병합하십시오.

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

or 

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