Tester si un volume est monté avec le chemin d'un fichier [résolu]

wiskywisky Membre
février 2006 modifié dans API AppKit #1
Hello à  tous,

J'ai un NSString contenant un chemin "/Volumes/NomVolume/File1.ppt" ou "/Files1.ppt"
Je cherche un moyen de connaà®tre le nom du volume qui est dans le chemin et un moyen de savoir si le volume est monté.

Pour la gestion des volumes j'utilise le NSWorkspace. Je n'arrive pas à  convertir le NSString en NSArray. Y a t'il des fonctions déjà  toute faite ou il me faut les coder?

:o :o

Réponses

  • aranaudaranaud Membre
    10:19 modifié #2
    T'as essayé ceci.

    <br />NSString *path = @&quot;tmp/scratch&quot;;<br />NSArray *pathComponents = [path pathComponents];<br />
    
  • wiskywisky Membre
    10:19 modifié #3
    j'ai écrit ma fonction mais elle me le donne à  l'envers:
    - (NSArray *)stringPathToArray:(NSString *)path<br />{<br />	NSMutableArray* liste = [[NSMutableArray alloc] init];<br />	<br />	while(![path isEqualToString:@&quot;/&quot;]){<br />		[liste addObject:[path lastPathComponent]];<br />		path = [path stringByDeletingLastPathComponent];<br />		//NSLog(@&quot;%@&quot;,path);<br />	}<br />	<br />	return [[NSArray alloc] initWithArray:liste];<br />}
    


    Mais ta solution aranaud est ce que je cherchait. Merci <3
  • 10:19 modifié #4
    C'est normal que ce soit à  l'envers ...tu commences par la fin.

    Par contre je te conseille de revoir sérieusement la gestion de la mémoire.
  • AliGatorAliGator Membre, Modérateur
    février 2006 modifié #5
    Déjà  au moins :

    [tt]return [(NSArray*)liste autorelease];[/tt]

    non ?
    Et puis travailler directement sur le paramètre, c'est pas non plus le top, surtout pour le réaffecter.

    Mais bon surtout, c'était de toute façon pas le mieux de le faire soi même alors qu'il y a toute cette panoplie de fonctions pour travailler sur les chemins dans la classe NSString (dont le pathComponent cité par aranaud)
  • wiskywisky Membre
    10:19 modifié #6
    Merci, j'ai changé et ça marche nikel.
    <3
  • 10:19 modifié #7
    Et comment reconnaitre un volume, pour différencier deux volumes de même nom ?
  • wiskywisky Membre
    10:19 modifié #8
    Dans le dossier système /Volumes/ les disques de même nom sont numéroté ;)
    C'est vrai, je n'est pas penssez à  ça  ::)
Connectez-vous ou Inscrivez-vous pour répondre.