Version courte: Je pense que je demande un fichier trop tôt, mais il prétend que c'est prêt. Est-ce que je manque quelque chose?Un fichier est-il disponible pour être ouvert?
Version légèrement plus longue: J'écris des fichiers sur le disque. Avant cela, l'utilisateur ajoute des méta-données, y compris le nouveau nom de fichier. Une fois que l'utilisateur a terminé, l'écran disparaît et le programme écrit le fichier sur le disque. L'utilisateur peut alors regarder une liste de fichiers. Cette liste est générée en lisant le contenu d'un dossier. Le nouveau fichier figure dans la liste des fichiers, mais lorsque j'essaie d'extraire des informations du fichier à afficher (par exemple la taille du fichier), le programme se bloque. Le mieux que je puisse dire, l'accident se produit parce que, tandis que le fichier est là dans le nom, il n'est pas disponible pour être lu. (En passant, ce sont de petits fichiers - quelques centaines de k.)
Tout d'abord, est-il possible qu'un fichier apparaisse dans le répertoire mais n'est pas encore là? a Et deuxièmement, si oui, comment vérifier si le fichier est prêt à être lu?
Merci beaucoup.
MISE À JOUR:
Merci. Je vais essayer d'ajouter plus d'informations. J'enregistre un fichier audio avec AVAudioRecorder. La ligne d'init est:
soundrecording = [[AVAudioRecorder alloc] initWithURL:url settings:recordSettings error:&error];
Le programme passe par ses mises à jour et ses compteurs d'interface utilisateur et tout ça. Lorsque le son est arrêté, je l'appelle:
[soundrecording stop];
et quand tout le reste est mis à jour et prêt à passer, je l'appelle:
[soundrecording release];
soundrecording=NULL;
Pour autant que je comprends, cela devrait prendre soin de libérer le fichier, oui?
Merci encore.
Qu'est-ce que cela a à voir avec Objective-C? Vous ne nous avez pas dit quel genre de crash vous avez, et comment vous essayez d'obtenir la taille du fichier. Si vous voulez de l'aide, vous devez nous en dire plus que votre hypothèse. – dreamlax
Cette question et ses réponses pourraient être plus utiles à tout le monde, si vous souhaitez poster un échantillon de votre code, et indiquer où l'erreur se produit. –
Merci. J'ai ajouté plus d'informations ci-dessus. –