chemin relatif ou absolu

cyranocyrano Membre
Bonsoir,

dans l'environnement XCode le chemin relatif fonctionne:

<br /><br />	//chemin relatif<br />	NSString *folderPath = @&quot;./design 2D/&quot;;<br />	folderPath = [folderPath stringByAppendingPathComponent:folderName];<br /><br />	NSBundle *pathImage = [NSBundle bundleWithPath:folderPath];<br /><br />


par contre en autonome je suis obligé d'utiliser le chemin absolu?
<br /><br />	//chemin de fichier absolu de design2D<br />	NSString *folderPath=[[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent];<br />	folderPath = [folderPath stringByAppendingPathComponent:@&quot;design 2D&quot;];<br />	//ajout du dossier<br />	folderPath = [folderPath stringByAppendingPathComponent:folderName];<br />	<br />	NSBundle *pathImage = [NSBundle bundleWithPath:folderPath];<br /><br />


Peux t'on utiliser du relatif en autonome?

merci

Réponses

  • mpergandmpergand Membre
    novembre 2010 modifié #2
    dans 1288998003:


    Peux t'on utiliser du relatif en autonome?

    merci


    Relatif par rapport à  quoi ?

    Sinon, pour connaà®tre le répertoire courant:
    NSLog(@%@",[[NSFileManager defaultManager] currentDirectoryPath]);

  • cyranocyrano Membre
    12:09 modifié #3
    Relatif par rapport à  quoi ?


    j'ai un dossier "images", dans le meme dossier que l'application. Je pense que mon application doit pouvoir avoir accès a ce dossier sans connaitre le chemin absolu.

    un truc du genre:
    NSString *folderPath = @./images
  • LeeroyLeeroy Membre
    12:09 modifié #4
    Le path dans XCode est définit à  la racine du projet, par défaut. D'ailleurs ça se change. En revanche pour une appli autonome je dirais que le path est dans le dossier ressources. Mais comme te le dis mpergrand fait des test.
  • CéroceCéroce Membre, Modérateur
    12:09 modifié #5
    dans 1289035144:

    j'ai un dossier "images", dans le meme dossier que l'application. Je pense que mon application doit pouvoir avoir accès a ce dossier sans connaitre le chemin absolu.

    Place ce dossier images dans le dossier Resources. C'est là  qu'il doit être.
    Ensuite utilise la méthode -[NSBundle resourcePath].
  • cyranocyrano Membre
    12:09 modifié #6
    <br />Place ce dossier images dans le dossier Resources. C&#39;est là  qu&#39;il doit être.<br />Ensuite utilise la méthode -[NSBundle resourcePath].<br />
    


    Non non, ce dossier doit être accessible par l'utilisateur pour modifier le design de l'application.
  • mpergandmpergand Membre
    12:09 modifié #7
  • CéroceCéroce Membre, Modérateur
    12:09 modifié #8
    On peut ouvrir le bundle de l'appli par un clic-droit sous Finder puis "Afficher le contenu du paquet".
    L'idée d'Apple est qu'une appli doit être autonome. Sous Windows, on a souvent des tas de dossiers à  coté de l'exécutable, et ça fiche un sacré fouilli.
  • cyranocyrano Membre
    12:09 modifié #9
    merci a vous deux.

    /Library/Application Support
    ~/Library/Application Support



    me voila moins bete :)
  • mpergandmpergand Membre
    12:09 modifié #10
    D'une manière générale, il ne faut jamais coder les chemins en dur,
    toujours passer par les méthodes appropriées:

    http://cocoawithlove.com/2010/05/finding-or-creating-application-support.html
Connectez-vous ou Inscrivez-vous pour répondre.