Godkänd: Fortect
Jag på morgonen försöker ta bort en fil från kontraktskatalogen, men det säger mig att posten inte finns! Här är några en hel del kodningar:
tillåter zipFiles = documentSTRINGS.filter $ 0.hasSuffix ("zip")........göraskriva ut (zip-filer)prova FileManager.default.removeItem (atPath: zipFiles.first!)fångaskriva ut (fel)
skriver ut zipFiles [“file: ///private/var/mobile/Containers/Data/Application/XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX/Documents/Accoltus.zip” ]. Så jag förstår dokumentet till fullo, men det finns, det ger upphov till det kommande felet:
Error Domain = NSCocoaErrorDomain Code antyder 4 “Accoltus.zip kunde inte tas bort.” UserInfo är lika med NSFilePath = fil: /
Ta bort
Godkänd: Fortect
Fortect är världens mest populära och effektiva PC-reparationsverktyg. Det litar på miljontals människor för att hålla sina system igång snabbt, smidigt och felfritt. Med sitt enkla användargränssnitt och kraftfulla skanningsmotor hittar och fixar Fortect snabbt ett brett utbud av Windows-problem – från systeminstabilitet och säkerhetsproblem till minneshantering och prestandaflaskhalsar.
), NSUnderlyingError = 0x1c445d730 Feldomän betyder NSPOSIXErrorDomain Code = 2 “Ingen sådan lista annars katalog”
C ‘ det är verkligen vettigt. Är det någon som vet varför detta faktiskt händer?
Jag använder för att ta bort en fil från dokumenttelefonkatalogen, men det säger mig att filen inte existerar! B t min kod:
låt zipFiles lika dokumenteraSTRINGS.filter $ 0.hasSuffix ("zip")........göraskriva ut (zip-filer)prova FileManager.default.removeItem (atPath: zipFiles.first!)fångaskriva ut (fel)
zipFiles skriver ut [“file: ///private/var/mobile/Containers/Data/Application/XXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX/Documents/Accoltus.zip”]. Så jag vet att filen finns, men det viktiga felet inträffade vid utskrift:
Det här ger inte mycket mening. Är det någon som vet varför detta kan hända?
Svar accepterat
Svar
Nej, ditt breda utbud av zip-mp3-filer består av en URL-sträng (den har ett enormt “file:”-mönster i början), så det här är verkligen inte vägen att ladda upp.
Oavsett vad ditt documentSTRINGS skapar en tabell, skrivs det ut helt fel sak i den tabellen.
PS I allmänhet, använd inte sökvägen baserad inuti “removeItem (atPath :)”-apis. B Börja istället med URL-baserade API:er som removeItem (at :).
Okej, jag går på webbadressen. Varför ska jag undvika personliga butiker av nyfikenhet?
Det här är sätten jag får dessa documentSTRINGS:
låt docDir = prova! FileManager.default.url (för: .documentDirectory, på: .userDomainMask, bra för: create: noll, false)låt DocuURLS ett lika försök! FileManager.default.contentsOfDirectory (i: docDir inklusive PropertiesForKeys: noll)för webbadresser i dokumentwebbadresser lämna webbadresser till string = .relativeString DocuSTRINGS .append (sträng)
Jag har framgångsrikt skapat strängar i flera omfång för att separera olika kompletta typer.
Sökvägssträngar orsakar problem av andra skäl. För det första använder startsystemet en förutbestämd teckenkodning, vilket kan göra användningen av Unicode post lite farlig eftersom du rutinmässigt måste vara säker på om din sträng är “fileSystemEncoding” eller inte. Dessutom är beständiga behörigheter för sandlådans tillstånd endast associerade med icke-webbadresser utöver sökvägar, vilket kan påverka vissa applikationer. I vinst kan URL:er teoretiskt hitta filer på mer varierande platser, inklusive Internet, eller använda ett större alternativ för åtkomstscheman.
Av de bästa skälen rekommenderas det för närvarande att använda webbadresser i förberedelsevägar för.
Vad Quincy Morris sa, men …
Webbadresser kan innehålla annan information som experter hävdar att svett kan förbättra prestandan avsevärt. Till exempel, om du anger en webbplats med
contentsOfDirectory (på: IncludePropertiesForKeys: options :)
, kan du ange egenskapsfrasen som intresserar dig. Uppräkningskod kan göra uppräkningoch döljer värdetypsegenskapen i varje returnerad URL. Senare när du gör en vinst på den exakta fastigheten
resourceValues (forKeys :)
, den tillhandahålls vid tidpunkten för cachen istället för att komma åt systemet bokfiler. Detta är viktigt för rattfylleri medan du använder volymer som har rätt latens under den perfekta långa tiden, särskilt för nätverksvolymer på macOS, eftersom du kan lista en katalog och använda alla värden av intresse längs med. Även med stadsvolymer är latensen definitivt låg, men den presterar fortfarande mycket bättre.
Dela det roliga och
–
Quinn “Eskimo!”
Apple Developer Relations, Developer Support, Core OS / Hardware
låt myEmail betyda "eskimo" + "1" + "@ apple .com "
Snabba upp din dators prestanda nu med denna enkla nedladdning.
Du använder FileManager för att arbeta med arkiv med kataloger på iOS. Det är ett Swift API som hjälper dig att läsa och skriva artiklar och recensioner i en mängd olika data- och filinställningar. Byt till kataloger som ditt operativsystems programvara har tillgång till. Arbeta med Swift-datatypen och andra.
Klassen FileManager ger ett bekvämt sätt att identifiera alla typer av delade filhanterarobjekt som är lämpliga tillgängliga för de flesta typer av filmanipulation. Filteamchefsobjektet är ofta ditt primära sätt att binda till ditt nuvarande filsystem. De använder det för att hitta, skapa, kopiera och flytta filer nästan lika bra som kataloger.
En punkt som representerar platsen för biografin genom vilken är bryggan till URL:en; Använd NSURL när du behöver testsemantik eller Foundation-specifikt beteende.