2016-11-02 14 views
0

私はエンティティに複数のIntを格納する属性があります。 これは、APIから受け取ったJSONはデータベースに配列属性を格納します。

{ 
    "type": “KsCell”, 
    “id”: 23, 
    “allowedSize”: [1,2], 
}, 

どのように見えるかをどのように私はxcdatamodeldに/ストアこの宣言することができますか?

これは私が選ぶことができる属性のリストで、何の配列

enter image description here

+0

これは配列タイプである必要があります –

+0

どちらが配列タイプですか?私はTransformableしようとしましたが、それは動作していません –

+0

あなたはcoredataに挿入中に文字列に配列の値を変換することができますし、ちょうどあなたがこの状況で行うことができます –

答えて

0

がないコアデータには「ネイティブ」の配列または辞書タイプはありません。変換可能な属性としてNSArrayまたはNSDictionaryを格納できます。これはNSCodingを使用して配列または辞書をNSData属性にシリアル化します(アクセス時に適切に逆シリアル化します)。 - src

したがって、可能な解決策は、変形可能タイプを使用している可能性があります。 expampleとして

、あなたのようにあなたのNSManagedObjectでそれを宣言することができます。

@NSManaged var allowedSizes: [NSNumber] 

とJSON

myObject!.allowedSizes = allowedSizeArray //[1,2] 

からあなた解析されたint型の配列を割り当てる別の解決策は、にあなたの配列を変換するためにNSKeyedArchiverを使用することですNSData。

let allowedSizes = NSKeyedArchiver.archivedDataWithRootObject(allowedSizeArray) // NSData