Pregunta

Estoy tratando de entender cómo crear mi propio árbol de directorios y acceder a ella desde mi aplicación.

Estoy haciendo algún tipo de programa de aprendizaje y el deseo de crear una estructura de directorios como esto:

-MyLessonsDirectory
--LessonDirectory_1
---Step_1
---Step_2
---Step_3
--LessonDirectory_2
---Step_1
---Step_2
---Step_3
.
.
and so on

En cada "paso" -directory que tendrá un contenido específico para ese paso de la lección. El contenido se añade por mí durante el desarrollo. Por lo tanto, no quiero crear la estructura y el contenido desde la aplicación, simplemente acceder a ella y la lectura del contenido de los directorios. Si puedo crear este tipo de estructura y utilizarlo será muy fácil crear un buen diseño que hace que sea fácil crear nuevas lecciones en mi aplicación.

Lo que no puedo entender es donde debería crear esos directorios en la estructura de archivos en Xcode y cuál es la ruta de acceso a los directorios de mi solicitud.

¿Fue útil?

Solución

En el iPhone, sólo se tiene acceso a las aplicaciones de propios directorios. El mejor lugar para poner en práctica los directorios de la carpeta Documentos en el directorio de aplicación.

Este ...

NSString *dp=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

... le da la ruta de la carpeta de directorio que luego se puede entregar fuera a la NSFileManager.

Si quieres ver la estructura de directorios visualmente, ejecutar la aplicación en el simulador y en el aspecto

~/Library/Application Support/iPhone Simulator/User/Applications

La aplicación va a estar en una de las carpetas con el nombre UUID galimatías. Se puede ver los directorios y archivos que hay en el Finder.

Yo añadiría que el iPhone ya tiene la mayoría de los directorios es posible que prácticamente necesitar. Usted tiene preferencias, caché, tmp, documentos, etc., todo en su lugar.

Edit01:

  

Lo que quiero hacer es agregar el contenido   manualmente antes de que comience la   solicitud. Entonces, desde el interior de la   aplicación Leeré el que el contenido   añadido antes de iniciar la aplicación.

Usted no puede alterar la estructura de directorios por defecto y absolutamente ninguna tiene control sobre cómo se hayan instalado la aplicación o sus directorios. aplicaciones para el iPhone no tienen archivos de soporte externas de ningún tipo. Todo está dentro del paquete de aplicación.

Sin embargo, el paquete de aplicación es realmente sólo un directorio para que pueda meter las cosas en su interior y copiarlos a cabo en uno de los directorios por defecto la primera vez que se ejecuta la aplicación. Puede escribir lo que desea el directorio de documentos.

Otros consejos

¿Quieres mirar NSFileManager para crear directorios:

NSFileManager *fm = [NSFileManager defaultManager];
NSError *error;
BOOL result = [fm createDirectoryAtPath:@"path....." withIntermediateDirectories:YES attributes:nil error:&error];
if(result){
   NSLog(@"success!");
} else {
   NSLog(@"error: %@",error);
}

En cuanto a dónde crear los directorios, se puede poner en ~ / Application Support / - de su aplicación nombre-- Aquí es donde se debe almacenar datos de la aplicación si el usuario no requiere acceso a ella. De lo contrario, debe permitir al usuario decidir dónde guardarlo.

- (NSString *)applicationSupportDirectory {

       NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
       NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : NSTemporaryDirectory();
       return [basePath stringByAppendingPathComponent:@"MyApplication"];
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top