我来,我应该如何着手这里有点糊涂了,说这是我的课保存类NSUserDefaults的在objc与NSCoding
@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..
}
是否有这样的原因?
欢呼声
不知道你是否犯了一个错字或什么,但你不会写如:self._ivarname。用自己来调用某些东西。假设你正在访问一个属性,“_”前缀通常用于伊娃尔名称而不是属性名称。 – 2012-08-06 10:13:43