Professional Documents
Culture Documents
Datos en la aplicacin
Datos en la aplicacin
- Sistema de archivos de una aplicacin - Accediendo a directorios - Trabajando con rutas, 'paths' - Bundles y recursos de la aplicacin - La clase NSBundle - Obteniendo y almacenando datos - Property lists - NSXMLParser - NSUserStandardDefaults
MyApp.app
MyApp MainWindow.nib SomeImage.png
Documents
Library Caches Preferences
- NSPathUtilities.h Conjunto de categoras para trabajar con rutas del sistema de archivos de una aplicacin - Ejemplo (buscando el directorio Documents): NSString *documentDirectory; NSArray *paths = NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); documentsDirectory = [paths objectAtIndex:0];
- Es un directorio con una estructura jerrquica estandarizada que contiene cdigo ejecutable y los recursos usados por ese cdigo. - Ventajas: - Se trabaja igual que con ficheros - Su estructura permite aadir recursos de diferentes idiomas fcilmente. - Instalar/Desinstalar Drag&Drop - Mltiples arquitecturas y sistemas de ficheros - Tipos: aplicacin, plug-ins, frameworks, widgets...
MyApp
Info.plist Default.png MainWindow.nib Settings.bundle en.lproj MyImage.png fr.lproj MyImage.png
Accediendo al bundle de la aplicacin NSBundle *bundle = [NSBundle mainBundle]; Obteniendo la ruta de un recurso en el bundle NSBundle *bundle = [NSBundle mainBundle]; [bundle pathForResource:@image ofType:@jpg];
Preferencias de usuario NSUserDefaults Settings y preferencias en la aplicacin Property Lists Property Lists editor Leer y escribir Property Lists Obteniendo datos XML - NSXMLParser y NSXMLParserDelegate
Property Lists
Es una manera de representar jerarquas simples de datos Slo soporta arrays, diccionarios, strings, fechas, enteros, dobles y booleanos Una property list es una clase (array o diccionario) que engloba uno o varios objetos soportados Representada con XML o con un binario (ms compacto) Se usa para una cantidad menor de unos pocos cientos de KBs
Property Lists
10
Property Lists
11
Preferencias de usuario
Mutuamente exclusivas (Elige slo un tipo!) Patrn de uso Opciones de configuracin con poco uso Settings Opciones de configuracin regulares Integradas
12
Preferencias de usuario
13
Settings Bundle
- Settings.bundle en tu aplicacin sirve para aadir las preferencias a la aplicacin Settings de iPhone/iPod/iPad
14
Demostracin
15
NSXMLParser
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url]; [parser setDelegate:self]; [parser setShouldProcessNamespaces:NO]; [parser setShouldReportNamespacePrefixes:NO]; [parser setShouldResolveExternalEntities:NO]; [parser parse]; //empieza a parsear
16
NSXMLParserDelegate
Mtodos importantes - didStartElement Ha encontrado un tag de inicio. Ej, <item> - didEndElement Ha encontrado un tag de final. Ej, </item> - foundCharacters Ha encontrado una cadena entre <></> - parserDidStartDocument Ha empezado a parsear - parserDidEndDocument Ha acabado de parsear
17
NSXMLParser
Patrn de diseo 1 Iniciar un objeto NSXMLParser y asignarle un delegado 2 didStartElement Guardar el tag y reservar memoria estructura 3 didEndElement Guardar valores en la estructura 4 foundCharacters Guardar valor del tag
18
Demostracin
19
Bibliografa
Bundle Programming Guide Property List Programming Guide User Defaults Programming Topics
20