5

これにより、配列が保存されます(私は思う)。

- (void)encodeWithCoder:(NSCoder *)encoder {
    [encoder encodeObject:myArray forKey:@"myArray"];
}

配列を保存したいときにこのメソッドを直接呼び出す必要がありますか?それとも何か他のことをしなければなりませんか?

4

1 に答える 1

8

このメソッドを直接呼び出すことはありません。NSCoderそのオブジェクトをシリアル化する必要がある場合は、サブクラスによって呼び出されます。オブジェクト グラフをエンコードする場合は、クラス メソッドarchivedDataWithRootObject:またはarchiveRootObject:toFile:を使用しますNSKeyedArchiverencodeWithCoder:これにより、オブジェクトのメソッドが呼び出されます。NSCodingまた、配列内のすべてのオブジェクトがプロトコルを実装する必要があることに注意してください。

于 2010-09-18T13:46:53.830 に答える