Thursday, December 30, 2010

Plist Example

-(void)loadFromFile
{
NSMutableDictionary *pData;
NSString *documentsDirectoryPath;
NSString *finalPath;
documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
finalPath = [documentsDirectoryPath stringByAppendingPathComponent:@"gameData.plist"];
pData = [NSMutableDictionary dictionaryWithContentsOfFile:finalPath];

switch (m_GameModes)
{
case stretch:
laneDistance = [(NSNumber *)[pData valueForKey:@"stretchDistance"] doubleValue];
qualifyingTime = [(NSNumber *)[pData valueForKey:@"stretchQualifyingTime"] doubleValue];
recordTime = [(NSNumber *)[pData valueForKey:@"stretchRecordTime"] doubleValue];
playerTime = [(NSNumber *)[pData valueForKey:@"stretchPlayerTime"] doubleValue];
break;
case amateur:
laneDistance = [(NSNumber *)[pData valueForKey:@"amateurDistance"] doubleValue];
qualifyingTime = [(NSNumber *)[pData valueForKey:@"amateurQualifyingTime"] doubleValue];
recordTime = [(NSNumber *)[pData valueForKey:@"amateurRecordTime"] doubleValue];
playerTime = [(NSNumber *)[pData valueForKey:@"amateurPlayerTime"] doubleValue];
break;
case professional:
laneDistance = [(NSNumber *)[pData valueForKey:@"professionalDistance"] doubleValue];
qualifyingTime = [(NSNumber *)[pData valueForKey:@"professionalQualifyingTime"] doubleValue];
recordTime = [(NSNumber *)[pData valueForKey:@"professionalRecordTime"] doubleValue];
playerTime = [(NSNumber *)[pData valueForKey:@"professionalPlayerTime"] doubleValue];
break;
case olympiad:
laneDistance = [(NSNumber *)[pData valueForKey:@"olympiadDistance"] doubleValue];
qualifyingTime = [(NSNumber *)[pData valueForKey:@"olympiadQualifyingTime"] doubleValue];
recordTime = [(NSNumber *)[pData valueForKey:@"olympiadRecordTime"] doubleValue];
playerTime = [(NSNumber *)[pData valueForKey:@"olympiadPlayerTime"] doubleValue];
break;
default:
break;
}
}
-(void)saveToFile
{
NSMutableDictionary *pData;
NSString *documentsDirectoryPath;
NSString *finalPath;
documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
finalPath = [documentsDirectoryPath stringByAppendingPathComponent:@"gameData.plist"];
pData = [NSMutableDictionary dictionaryWithContentsOfFile:finalPath];

switch (m_GameModes)
{
case stretch:
[pData setValue:[NSNumber numberWithDouble:playerTime] forKey:@"stretchPlayerTime"];
[pData setValue:[NSNumber numberWithDouble:recordTime] forKey:@"stretchRecordTime"];
break;
case amateur:
[pData setValue:[NSNumber numberWithDouble:playerTime] forKey:@"amateurPlayerTime"];
[pData setValue:[NSNumber numberWithDouble:recordTime] forKey:@"amateurRecordTime"];
break;
case professional:
[pData setValue:[NSNumber numberWithDouble:playerTime] forKey:@"professionalPlayerTime"];
[pData setValue:[NSNumber numberWithDouble:recordTime] forKey:@"professionalRecordTime"];
break;
case olympiad:
[pData setValue:[NSNumber numberWithDouble:playerTime] forKey:@"olympiadPlayerTime"];
[pData setValue:[NSNumber numberWithDouble:recordTime] forKey:@"olympiadRecordTime"];
break;
default:
break;
}

[pData writeToFile:finalPath atomically:NO];
}

No comments:

Post a Comment

Followers