Я создал класс объектов, который я использую для создания своего pList, но у меня есть некоторые проблемы с ним. Я использую шаблон модели singleton для класса, поэтому мне нужно иметь дело только с одним экземпляром его в любой момент времени ...пытается создать pList, однако его не создается
по какой-то странной причине он прекратил работать должным образом и для меня жизни не могу почему, я woundering, если что-то делать с ним быть в одноплодном шаблоне дизайна ..
#pragma mark Singleton Methods
+ (id)sharedManager {
@synchronized(self) {
if (sharedMyManager == nil)
sharedMyManager = [[self alloc] init];
}
return sharedMyManager;
}
- (id)init {
if (self = [super init]) {
// get paths from root direcory (where we will store and fine our plist in the future)
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
// get documents path
NSString *documentsPath = [paths objectAtIndex:0];
// get the path to our plist file
NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"EngineProperties.plist"];
NSLog(@"pList path = %@", plistPath);
// check to see if .plist exists in documents
if (![[NSFileManager defaultManager] fileExistsAtPath:plistPath])
{
// if not in documents, get property list from main bundle
plistPath = [[NSBundle mainBundle] pathForResource:@"EngineProperties" ofType:@"plist"];
}
// read property list into memory as an NSData object
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];
NSString *errorDesc = nil;
NSPropertyListFormat format;
// convert static plist into dictionary object (this is where any saved values get put into
savedEnginePropertiesDict = (NSMutableDictionary *)[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&errorDesc];
//Load all current values of the property list thats been put into savedEnginePropertiesDict into their variables
if (savedEnginePropertiesDict && [savedEnginePropertiesDict count]){
// assign values
self.sig = [savedEnginePropertiesDict objectForKey:@"Signature"];
self.ver = [savedEnginePropertiesDict objectForKey:@"Version"];
self.num = [savedEnginePropertiesDict objectForKey:@"Number"];
self.dataV = [savedEnginePropertiesDict objectForKey:@"Data"];
self.cache = [savedEnginePropertiesDict objectForKey:@"Cache"];
}
}
return self;
}
Это должен создать каталог, в котором PLIST должен находиться, а затем, если его там читать, иначе создание это ... но это не делает ничего из этого. И я нахожусь в полной утрате, чтобы понять, почему он не работает.
блин, это не похоже на работу либо ... Я даже пытался удалить приложение из тренажера и его восстановления, так что сохраняется в новый пакет, но это не помогло. –
работал !!! Я использовал его не в том месте .. не обращал внимания :( –