2014-01-11 1 views
0

는 기본적으로, 결국 내가 JSON과 유사 이런 걸 원하는 : 그것은 효과적으로있는 NSArray의인덱스 걱정없이 NSDictionary에 어떻게 추가합니까? 인덱스 당 여러 요소가있는 NSArray를 효과적으로 나타냅니다. 더 나은 해결책이 있습니까?

1: { 
    "url": "http://...", 
    "id": 8373 
} 
2: { 
    "url": "https://...", 
    "id": 1449 
} 

을하지만, 각 인덱스는 두 개의 요소로 구성되어있다. 그것은 두 개의 NSArrays에 의해 수행 될 수 있고 양쪽 모두에서 동일한 인덱스에 액세스 할 수 있습니다. 그러나 이것은 더 깨끗해 보입니다.

유일한 문제는있는 NSArray (물론,있는 NSMutableArray)와 함께, 당신은 addObject를 사용할 수 있으며 자동 끝에 추가합니다,하지만 내가 NSDictionary에으로이 작업을 수행하는 방법을 알아낼 수 없습니다.

이 문제의 일부분은 NSDictionary가 순서를 유지하지 않으며 상관 할 필요가 없다는 것을 알고 있지만 일부 데이터에 데이터 쌍을 자동으로 추가 할 수 있기를 원합니다. 나중에 액세스 할 수 있어야합니다.

NSDictionary로 할 수 있습니까? 다른 데이터 구조를 사용해야합니까?

+5

당신이있는 NSDictionary 객체의있는 NSMutableArray를 사용하여 고려 유무 :

[myMutableArray addObject:@{ @"url" : @"http://....", @"id" : @373 }]; 

또는 당신이 할 수있는 사전의 사전에

? –

+0

또는 NSMutableArray 객체의 NSMutableDictionary? 위의 "1", "2"등의 각 키와 같은 위치에 있습니다. NSMutableArrays는 필요한 데이터 문자열을 저장할 수 있으며, 변경할 때마다 사전에서 검색하여 배열을 수정할 수 있습니다. 왜 NSMutableArray라고했는지). – Alejandro

+1

@ user1274223 url과 id를 유지하기 위해 사전을 사용하는 것이 훨씬 낫습니다. 더 유연하고 자체적으로 문서화됩니다. 배열을 사용하면 어떤 값이 어떤 색인에 있는지 알 필요가 있습니다. – rmaddy

답변

4

"something"에 사전이나 다른 사전을 추가하고 싶습니다. 당신이 뭔가를 할 수있는 사전의 배열

:

myMutableDictionary[@1] = @{ @"url" : @"http://....", @"id" : @373 }; 
0

NSMutableDictionary 및 setObject:forKey:을 찾고 계십니까? 그 또는 나는 두 개의 속성 (URL 및 ID) 및 NSMutableArray 추가 할 클래스를 만듭니다.

관련 문제