Zapisywanie NSMutableArray do podstawowych danych
Chcę dodać NSMutableArray NSStrings do jednego z moich podmiotów w moim podstawowym modelu danych. Problem polega na tym, że nie jest to typ obsługiwany w danych podstawowych.
Próbowałem zrobić atrybut tranformowalny, ale problem polega na tym, że nie widzę sposobu na przekształcenie nsmutablearray do NSData, a następnie przejście z NSData, z powrotem do NSMutableArray. Czy ktoś ma pomysł jak ten problem można rozwiązać?
(wiem, że mogę zarchiwizować tablicę, ale nie chcę tego robić, chcę, żeby była obecny w moim modelu).
1 answers
Możesz mieć binarny atrybut danych w swoim modelowanym obiekcie, zarchiwizować tablicę na dane i przekazać ją obiektowi.
Ale myślę, że lepiej byłoby mieć relację do wielu, zamiast używać tablicy bezpośrednio.
* * * * Edit: Oto jak zarchiwizować tablicę do NSData, aby mogła być użyta w zarządzanym obiekcie * * *
NSData *arrayData = [NSKeyedArchiver archivedDataWithRootObject:[NSArray arrayWithObjects:@"1",@"2", nil]];
Zasadniczo, każda klasa, którą posiadasz, która jest zgodna z protokołem NSCoding, może zostać zarchiwizowana w ten sposób. NSArray/NSMutableArray / align = "left" / Każą wszystkim swoim obiektom archiwizować się, więc też muszą się podporządkować. I wszystkie elementy tych obiektów muszą się zgadzać itp. Jest jak drzewo.
Ponieważ Twoja tablica jest zgodna i jest tablicą NSString (która również jest zgodna), to jesteś złoty.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-27 02:05:06