Accéder aux fichiers Locaux à l'aide de NSURL
Je suis en train d'essayer d'accéder à un fichier XML stocker dans le répertoire de ressources. Je suis à l'aide de NSURL pour accéder à ce fichier à l'aide de NSURLConnection( ce fichier va être échangé pour un service distant dans le futur).
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL
URLWithString:@"file:///XMLTest.xml"]
cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
NSURLConnection *connection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
if (connection) {
//Create the NSMutableData to hold the received data.
//receivedData is an instance variable declared elsewhere.
response = [[NSMutableData data] retain];
} else {
NSLog(@"Could not create connection");
}
La classe qui commence à la connexion met en œuvre la NSURLConnection méthodes:
connection:willCacheResponse:
connection:didReceiveData:
connectionDidFinishLoading:
connectionDidFinishLoading:
Une fois que j'ai lancer ce le simulateur de mort, pas de messages sont affichés dans la console donc je suis à une perte pour savoir où chercher. Toutes les idées, ou suis-je juste le faire complètement tort?
Vous devez vous connecter pour publier un commentaire.
Ce serait également le travail:
Espérons que cette aide!
Essayer de charger quelque chose à partir du système de fichiers racine est faux, faux, faux. Définitivement un problème sur l'appareil, et probablement mal sur le simulateur. Le répertoire des ressources doit être accessible via le
NSBundle
classe.Par exemple, pour obtenir une URL pour un fichier appelé "Data.txt" dans les ressources, utilisez la commande suivante:
NSURL *bundleResourcePath = [[NSBundle mainBundle] resourceURL];
NSURL *url = (NSURL *) [[NSBundle mainBundle] pathForResource:@"SomeImage" ofType:@"png" inDirectory:[NSString stringWithContentsOfURL:bundleResourcePath encoding:NSStringEncodingConversionExternalRepresentation error:nil]];
NSLog(@"bundleResourcePath: %@", bundleResourcePath);
NSLog(@"url: %@", url);
. La première NSLog indique l'URL correctement toutefois, le deuxième sorties (null).Si vous souhaitez obtenir une URL à partir d'un chemin d'accès (par exemple, parce que vous avez créé un fichier dans NSTemporaryDirectory() et vous avez besoin pour obtenir que par une URL), vous pouvez facilement le faire en utilisant NSURL de fileURLWithPath méthode:
Beaucoup plus facile que de +URLWithString: et d'autres méthodes.
+ fileURLWithPath:
POMPE!Vous pouvez essayer ce
ici, en supposant que le fichier est dans le bureau.
Swift 3: