私はここでどのように進むべきかについて少し混乱しています、これは私のクラスだと言います
@interface PlayerStats : NSObject <NSCoding>
{
NSMutableDictionary *gameStats;
NSUserDefaults *prefs;
GamePlayStats *_gamePlayStats;
GameStats *_openGameStats;
GameStats *_duelGameStats;
GameStats *_challengeGameStats;
float _averagePanelsRevealed;
float _averageGuessSpeed;
int _totalCoinsEarned;
int _totalTokensEarned;
int _playerLevel;
}
クラスを保存したいときは、クラスを保存する方が賢明だと思われるので、この方法で保存したいと思います。クラスを元に戻すと、メソッドなどですが、変数を呼び出すことができます。
- (void)encodeWithCoder:(NSCoder *)encoder
{
[encoder encodeObject:self forKey:@"playerStats"];
}
ただし、私が見たすべての例では、すべての変数を個別にロードする必要があるため、次のようになります。
- (void)encodeWithCoder:(NSCoder *)encoder
{
[encoder encodeObject:self.gamePlayStats forKey:@"gamplaystats"];
[encoder encodeObject:self._openGameStats forKey:@"openGameStats"];
etc..
}
これが事実である理由はありますか?
乾杯