0

に保存しようとしていNSMutableArrayますCoreData。配列にはオブジェクトが含まれていますNSDictionary

NSDictionary には次の構造があります

valueDict = 
{
    FloorId = F0001;
    endCoordinates = "NSPoint: {541, 413}";
    linePath = "<UIBezierPath: 0x1d0903c0>";
    pointsOnLine =     (
    );
    startCoordinates = "NSPoint: {418, 504}";
},

コア データに書き込むには、次のコードを使用します。 parray は BinaryData 型です。

points.parray = [NSKeyedArchiver archivedDataWithRootObject:self.locationsArray];

そして、私が使用する値を取得するために

locationsArray = [NSKeyedUnarchiver unarchiveObjectWithData:points.parray];

取得しようとすると、次のエラーが発生します。

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSDictionary initWithObjects:forKeys:]: count of objects (0) differs from count of keys (5)'

NSArray と NSDictionary が NSCoding プロトコルを採用していることを確認しました。ここで何が間違っていますか?

4

1 に答える 1