2016-09-10 2 views
-2

한 배열의 결과를 문자열로 가져와이 결과를 이미 존재하는 배열의 이름으로 사용하려고합니다.문자열 입력을 배열로 사용하는 방법은 무엇입니까? Swift

var Jeep_Model: [String] = ["CJ", 
         "DJ", 
         "SJ", 
         "XJ", 
         "Comanche", 
         "YJ", 
         "TJ", 
         "JK" 
         //"Grand Cherokee", 
         //"Renegade", 
         //"Compass", 
         //"Commander", 
         //"Liberty", 
         //"Patriot", 
         //"Wagoneer" 
         ] 

var CJ: [String] = ["CJ-1", 
       "CJ-2", 
       "CJ-2A", 
       "CJ-V35", 
       "CJ-4", 
       "CJ-4M", 
       "CJ-4MA", 
       "CJ-3B", 
       "CJ-5: Tuxedo Park Mark III", 
       "CJ-5: Camper", 
       "CJ-5: 462", 
       "CJ-5: Renegade I", 
       "CJ-5: Renegade II", 
       "CJ-5: Super Jeep", 
       "CJ-5: Golden Eagle", 
       "CJ-5: Golden Eagle California Edition", 
       "CJ-5: Golden Hawk", 
       "CJ-5: Silver Anniversary", 
       "CJ-6", 
       "CJ-3B Long", 
       "CJ-5A", 
       "CJ-6A", 
       "CJ-7", 
       "CJ-5", 
       "CJ-8: Scrambler", 
       "CJ-10" 
       ] 

그래서 Jeep_Model이 CJ를 반환하면 CJ를 배열로 호출 할 수 있기를 원합니다. 이 질문이 의미있는가요? 그렇다면 가능합니까?

Jeep_Model 반환 "CJ는"나는 당신이로 이름을 처리 할 수 ​​

답변

1

변수 이름은 컴파일 시간에 평가 CJ.count 또는 CJ [2] 등 등 ... 배열을 읽을 수 런타임시 문자열 값.

사전이 필요합니다. 키는 Jeep_Model에서 반환 된 모델이며, 값은 연관된 배열입니다.

개체는 조금 지금

let Jeep_Model = ["CJ", "DJ", "SJ"] 

let allModels = ["CJ" : ["CJ-1", "CJ-2", "CJ-2A"], "DJ" : ["DJ... "], "SJ" : ["SJ... "]] 

을 단축하는 경우가

let model = allModels["CJ"]![2] // -> "CJ-2A" 
와 세 번째 CJ 모델을 얻을 CJ Jeep_Model 반환
관련 문제