2011-03-18 10 views

Respuesta

39

Se puede cargar un plist desde cualquier ruta del archivo accesible con -initWithContentsOfFile: o +dictionaryWithContentsOfFile:

Cargar un plist desde un archivo, y crear el archivo si no existiera:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
        NSUserDomainMask, YES); 
self.plistFile = [[paths objectAtIndex:0] 
        stringByAppendingPathComponent:@"example.plist"]; 

self.plist = [[NSMutableDictionary alloc] initWithContentsOfFile:plistFile]; 
if (!plist) { 
    self.plist = [NSMutableDictionary new]; 
    [plist writeToFile:plistFile atomically:YES]; 
} 
+1

Tenga en cuenta que el objeto raíz del Plist debe ser un diccionario. Si el objeto raíz es una matriz, debe usar [[NSArray alloc] initWithContentsOfFile: plistFile]; – Ash

23

un poco más limpio:

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"plistName" ofType:@"plist"]; 
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath]; 
+0

depende del directorio, documentdirectory! = Ruta del recurso – M0rph3v5

Cuestiones relacionadas