2013-10-15 3 views
0

("1$Indore","2$Lyallpur","3$Sagan","4$Bhopal","5$Reva","6$Santa","7$Dar","8$Chinaware","9$Gwalior","10$Jain","11$Morena","12$West Nimar","13$Chatterer")내가이 문자열 배열에 해시 맵과 같은 키 값 형태로 배열 할

내가 UIPicker에서 인도 르처럼 "$"를 선택 값에서 해시 맵과 같은 키 값 형태로 배열하고 결과 문자열 배열에 원하는 1. pl z와 같은 키. pl z help ... 그러나 plz는 서버에서이 문자열을 가져 오기 때문에 내 코드 키에 쓰기 자체 쓰기가 1이고 값이 Indore이기 때문에 더 정당화합니다.

+0

m 그냥 당신에게 아이디어를 논리를 제공 : 당신은 루프와 내부에 $ 문자열을 분리하고 다른 배열에 두 개의 값을 저장하는 데 사용할 수 있습니다 그럼 당신이 원하는 모든 값에 액세스 할 수있을거야. –

+0

키 값 쌍을 위해 NSDictionary를 사용하십시오 – Atul

답변

0

NSDictionary은 해시 맵으로 사용할 수 있으며 구문은 매우 간단합니다. NSDictionary 리터럴은 @{ }을 사용하여 선언되며 쉼표로 구분 된 키 - 값 쌍 목록을 포함 할 수 있습니다. 이 키 - 값 쌍은 key: value으로 선언됩니다.

NSDictionary *dict = @{ @"1": @"Indore", @"2":@"Lyallpur", ... }; 

편집 :가있는 NSDictionary에 원래의 질문에 (의이 를 호출하자) 문자열 배열을 변환하려면이 작업을 수행 할 것 :

NSMutableDictionary *dict = [NSMutableDictionary dictionary]; 
for (NSString *value in values) { 
    NSArray *keyValuePair = [value componentsSeparatedByString:@"$"]; 

    [dict setObject:keyValuePair[1] forKey:keyValuePair[0]]; 
} 
예를 들어

+0

감사합니다. 그러나 plz가 서버에서이 문자열을 내 코드에서 자제 할 수 없기 때문에 더 정당화합니다. –

+0

@AbhishekMaheshwari 답변을 업데이트했습니다. 내가 게시 한 데이터가 _string_이 아니라 _ ​​문자열 _이라고 가정합니다. – neilco

+0

괜찮 았어 그것의 안쪽은 문자열을 $와 저장소로 나눌 수 있지만 두 개의 값을 다른 배열에 넣으면 어떻게 되든간에 원하는 값으로 액세스 할 수 있습니다. –

0

아래의 NSDictionary를 사용하십시오. -

//Add how many elements you want to add on your array 
    NSDictionary *yourDict=[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"$Indore", nil] forKeys:[NSArray arrayWithObjects:@"1", nil]]; 
    NSString *yourStr=[yourDict objectForKey:@"1"]; 
    NSLog(@"%@",yourStr); 
+0

감사하지만 plz 더 정당화 왜냐하면 서버에서이 문자열은 내 코드에서 자신을 사용하지 않습니다 –

+0

오, 그럼이 링크를 여기에 따라 서버에서 문자열을 분할하는 방법 아이디어를 얻을 것이다. 다음을 따르십시오. http://stackoverflow.com/questions/19364787/word-output-based-on-nsstring-sequences/19365935#19365935 –