2010-07-08 8 views
3

다음 작업을 수행하는 방법을 잘 모르겠습니다.NSDictionary에서 데이터 가져 오기

예 : 저자 및 제목 (키, 값)을 사전에 추가합니다. 사전에 데이터를 입력 한 다음 예를 들어 다른 사전을 작성하십시오. k = 장르 v = 아티스트 이름을 입력하고 데이터로 채 웁니다.

그런 다음 사전에 배열을 추가하고 싶습니다.

먼저 어떻게 처리합니까? 둘째, 사용자가 자신의 항목을 기록하도록 허용하면 어떻게됩니까? 그래서 사용자가 완료되면 화면상의 텍스트 필드에 키 필드 쌍을 새 사전에 저장합니다. 사용자의 사전.

나중에 사용자가 입력 한 데이터로 tableview를 채우려 할 때 무엇을 할 것인가? 그 데이터를 검색하려면 어떻게해야합니까?

배열 색인 2에서 사용자의 사전을로드하고 tableview의 셀을 각 사전 항목으로 채우고 싶습니다. 어떻게 수행됩니까? 어쩌면 배열 (인덱스 blah에서 entry.title 가져 오기)과 같은 방법, 사전에 키 값을 얻을?

실제로 값을 인식하지 못하는로드 된 사용자 입력 데이터를 다른 사람이 실제로 얻을 수 있습니까?

감사

답변

8

사전에 추가 저자와 제목을 (가능성이 NSString 인스턴스를 귀하의 경우 이미 존재하는 객체있어 가정) 장르/아티스트 :

NSMutableDictionary *music = [[NSMutableDictionary alloc] initWithCapacity:10]; 
[books setObject:artist forKey:genre]; 
다음

배열에 넣어 :

그런 다음 배열 인덱스 2의 물건을 읽을 수 있습니다 :

id key; 
NSDictionary *theDictionary = [theArray objectAtIndex:2]; 
id value; 
for (key in [theDictionary allKeys]) 
{ 
    value = [theDictionary objectForKey:key]; 
    // do something with the value 
} 
+0

감사합니다. 사용자가 다음 또는 이전을 선택했는지 여부에 따라 한 번에 하나씩 검색하려고한다면? – jarryd

+0

데이터베이스가 더 효율적이겠습니까? – jarryd

3

당신은 allKeys를 사용하여 사전에 키의 NSArray를 얻을 수 있습니다.

NSMutableDictionary *books = [[NSMutableDictionary alloc] initWithCapacity:10]; 
[books setObject:title forKey:author]; 

똑같은 : - : 그럼 당신은 objectForKey 사용하여 값을 검색 할 수

for (id key in [myDict allKeys]) { 
    NSLog(@"key: %@, value: %@", key, [dictionary objectForKey:key]); 
}