2010-02-18 14 views
7

Tener la estructura de carpetas comocómo obtener la ruta de recurso mediante subtrazado Usando NSBundle

*Resources/books/CD_en/icon/0.jpg; 
*Resources/books/CD_en/icon/1.jpg; 
*Resources/books/DD_en/icon/0.jpg; 
*Resources/books/DD_en/icon/1.jpg; 

cómo conseguir ruta del recurso de NSBundle utilizando el subtrazado 'books/CD_en/icon/0.jpg'

He intentado utilizar,

- (NSString *)pathForResource:(NSString *)name ofType:(NSString *)extension inDirectory:(NSString *)subpath 

[[NSBundle mainBundle] pathForResource:@"0.jpg" ofType:@"jpg" inDirectory:@"books/CD_en/icon"]; 

pero devuelve nil.

+3

reemplazar "0.jpg" por "0"? – yehnan

+0

Creo que yehnan lo tiene: su nombre debe ser 0 y no 0.jpg – RyanWilcox

+0

[[NSBundle mainBundle] pathForResource: @ "0" ofType: @ "jpg" inDirectory: @ "books/CD_en/icon"]; Mecanografiado incorrectamente ... hice lo anterior –

Respuesta

2

Lo tengo. Simplemente necesitamos agregar la estructura de carpetas 'books/...' a la carpeta de recursos de la aplicación. Que se mostrará en color azul.

Luego, el código existente se está ejecutando correctamente.

Gracias a yehnan.

1

tengo el mismo problema para recuperar la imagen de la carpeta Resource. Agregar imagen siguiendo el método resolvió mi problema.

  • Haga clic derecho en proyecto en xcode y seleccione Add Files to "project name".
  • Seleccione su archivo de imagen desde el disco local de la computadora.
  • En la ventana emergente, asegúrese de seleccionar Copy items into destination group's folder y Create Folder References for any added folders y Add to targets.
  • haga clic en Add.

Luego, con el código de abajo, puedo recuperar mi imagen.

[[NSBundle mainBundle] pathForResource:@"imageName" ofType:@"png"]; 
Cuestiones relacionadas