次のように、オブジェクトをエンコードしてファイルに保存しています。
[NSKeyedArchiver archiveRootObject:self.parent toFile:@"gameScene.plist"];
次のようにデコードします。
scene = [[NSKeyedUnarchiver unarchiveObjectWithFile:@"gameScene.plist"] retain];
initWithCoder
シミュレーターでは、上記のデコード コードはクラスのメソッドを適切に呼び出します。しかし、デバイスで同じことを実行すると、「initWithCoder is not called nor the
init」メソッドと「nil」オブジェクトが返されます。
誰かがここで何が悪いのか説明してもらえますか?
編集:テスト目的で、サブオブジェクトをデコードして my のすべてのエンコーディングをコメントアウトする代わりに、init
との両方で同じステートメントのセットを指定しました。initWithCoder
initWithCoder
encodeWithCoder