Tak więc mam ciąg struktury structst, który pobiera dynamicznie (nie z systemu plików). Jak przekonwertować ten ciąg do NSDictionary.Parse Plist (NSString) do NSDictionary
Próbowałem konwertować NSData, a następnie do NSDictionary z NSPropertyListSerialization, ale zwraca "[NSCFString objectAtIndex:]: nierozpoznany selektor wysłany do instancji 0x100539f40", gdy próbuję uzyskać dostęp do NSDictionary, pokazując, że mój słownik nie był pomyślnie utworzony.
Przykład NSString (czyli dane PLIST):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Key1</key>
<dict>
<key>Test1</key>
<false/>
<key>Key2</key>
<string>Value2</string>
<key>Key3</key>
<string>value3</string>
</dict>
</dict>
</plist>
Dzięki!
+1 Twoje rozwiązanie wydaje się ładnie dopracowane - używanie niezmiennych do tworzenia NSDictionary i pamiętanie o zwolnieniu błędu, jeśli jest jeden, są warte dodatkowych punktów. :-) –
Niemal nazwałem to nadmiernym zwolnieniem. Um, wow. Ten interfejs API całkowicie narusza reguły zarządzania pamięcią, wymagając od wywołującego zwolnienia tego ciągu błędów. –
Zgodnie z Informacjami o wersji zmieniono to, aby nie było tego naruszenia w systemie Leopard. Warto zwrócić uwagę. Istnieje zgłoszenie błędu na ten temat: http://openradar.appspot.com/5563963 –