다음 질문이 있습니다. 사전에 4 개의 항목을 추가하고 싶습니다. 이것은 xml 기반입니다. 따라서 xml 파일에는 4 개의 항목이 있습니다. 나는 모든 항목을 추가하기 위해 XML 파서에 다음 코드를 사용NSDictionary에 항목 추가가 작동하지 않습니다.
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName{
if ([elementName isEqualToString:@"Placemark"]) {
NSString *batsen = [placemarkData objectForKey:@"name"];
[Placemarks setObject:placemarkData forKey:batsen];
NSLog(@"adding story: %@", batsen);
}
}
문제는 그 장소 표시의 항목을 덮어처럼 보이는 것입니다. 로그 파일을 읽으면 마지막 항목 만 표시됩니다. 로그 (스토리 추가)가 4 개의 로그 메시지를 표시하기 때문에 이상합니다.
NSEnumerator *enumerator = [appDelegate.Placemarks keyEnumerator];
id key;
while ((key = [enumerator nextObject])) {
/* code that uses the returned key */
NSString *theElement = key;
NSLog(@"Element: %@", theElement);
}
누구나 제안 :
나는 위치 표시 사전을 읽기 위해 다음 코드를 사용할 수 있습니까? 사전에 Thnx
어떻게하고 초기화하는하는 장소 표시 :이 코드는 새로운을 단순화하기 위해 건조 방법을 사용, 있는 NSDictionary 불변 확대했다. 나는 그것을 (readwrite, retain) 속성으로 기대할 것이다. 당신이 매번 초기화하는 것처럼 보입니다. btw 일반 규칙은 appDelegate.placemarks에서와 같이 ivars 및 속성의 첫 글자에 대해 소문자입니다. 장소 표시를 사용하면 답을 얻기 위해 클래스 선언 –