我來,我應該如何着手這裏有點糊塗了,說這是我的課保存類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