7
NSUserDefaultsにカスタムオブジェクトを保存する方法
さて、私はいくつかのことをやっています、そして私は自分の問題に気付きましたが、それを修正する方法がわかりません。一部のデータを保持するカスタムクラスを作成しました。私はこのクラスのオブジェクトを作成し、セッション間で持続させる必要があります。すべての情報をに入れる前はNSUserDefaults、これは機能しません。 -[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value '<Player: 0x3b0cc90>' of class 'Player'. これは、カスタムクラス「Player」をに配置したときに表示されるエラーメッセージNSUserDefaultsです。今、私は明らかにNSUserDefaultsいくつかのタイプの情報しか保存していないことを読みました。それで、どのようにしてオブジェクトを入れNSUSerDefaultsますか? カスタムオブジェクトを "エンコード"して配置する方法があるはずだと読みましたが、実装方法がわからないので、助けていただければ幸いです。ありがとうございました! ****編集**** 承知しました。以下のコードを使用して作業を行いました(ありがとうございます)。しかし、まだ問題がいくつかあります。基本的に、コードは今クラッシュしますが、エラーが発生しないため、理由はわかりません。おそらく、基本的なものが欠けていて、疲れすぎているかもしれませんが、それはわかります。これが私のカスタムクラス「Player」の実装です。 @interface Player : NSObject { NSString *name; NSNumber *life; //Log of player's life } //Getting functions, return the info - (NSString *)name; - (int)life; - (id)init; //These are the setters - (void)setName:(NSString …