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).

Author: Max Ballo, 2009-07-09

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.

 32
Author: jbrennan,
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