Aprovado: Fortect
Estou tentando deletar um arquivo do diretório de estado, mas me diz que a lista não existe! Aqui estão mais algumas codificações:
allow to zipFiles = documentSTRINGS.filter $ 0.hasSuffix ("zip")........façoimprimir (arquivos zip)tente FileManager.default.removeItem (atPath: zipFiles.first!)pegarimprimir (erro)
imprime e zipFiles [“file: ///private/var/mobile/Containers/Data/Application/XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX/Documents/Accoltus.zip” ] Portanto, compreendo perfeitamente o arquivo do computador, mas ele existe e gera o próximo erro:
Erro de domínio = NSCocoaErrorDomain Código implica 4 “Accoltus.zip não pôde ser excluído.” UserInfo é igual a NSFilePath = file: /
Remover
Aprovado: Fortect
Fortect é a ferramenta de reparo de PC mais popular e eficaz do mundo. Milhões de pessoas confiam nele para manter seus sistemas funcionando de forma rápida, suave e livre de erros. Com sua interface de usuário simples e mecanismo de verificação poderoso, o Fortect localiza e corrige rapidamente uma ampla gama de problemas do Windows, desde instabilidade do sistema e problemas de segurança até gerenciamento de memória e gargalos de desempenho.
), NSUnderlyingError = 0x1c445d730 Domínio de erro implica NSPOSIXErrorDomain Code = 2 “Nenhuma lista ou às vezes diretório” < / p>
C ‘não apenas faz sentido. Alguém sabe por que isso está realmente acontecendo?
Estou tentando excluir um arquivo do site de envio de documentos, mas isso me diz que o arquivo absolutamente não existe! B t meu código:
permite que zipFiles corresponda a documentSTRINGS.filter $ 0.hasSuffix ("zip")........façoimprimir (arquivos zip)tente FileManager.default.removeItem (atPath: zipFiles.first!)pegarimprimir (erro)
zipFiles imprime [“file: ///private/var/mobile/Containers/Data/Application/XXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX/Documents/Accoltus.zip”]. Então, eu sei que o arquivo existe, mas o próximo erro ocorreu durante a impressão:
Isso não faz muito sentido. Alguém sabe por que isso quase certamente está acontecendo?
Resposta Aceita
Respostas
Não, sua ampla gama de fatos zip consiste em uma string de URL (ela tem virtualmente qualquer padrão “arquivo:” no início), então este definitivamente não é o caminho para upload.
Qualquer que seja o seu documentSTRINGS criar uma tabela, ele imprime o que está errado nessa tabela.
PS Em geral, não use o caminho baseado na apis “removeItem (atPath :)”. B Em vez disso, use até mesmo APIs baseadas em URL, como removeItem (at :).
Ok, irei ajudá-lo com o url. Por que devo evitar restaurantes pessoais por curiosidade?
Esta é a maneira como eu obtenho estas documentSTRINGS:
let docDir = try! FileManager.default.url (para: .documentDirectory, em: .userDomainMask, bom para: criar: nil, falso)deixe o DocuURLS uma tentativa igual! FileManager.default.contentsOfDirectory (em: docDir includingPropertiesForKeys: nil)para urls em urls de documentos deixe os urls para string = .relativeString DocuSTRINGS .append (string)
Usei com sucesso strings em vários escopos para separar diferentes tipos de relatório.
As strings de caminho causam problemas por vários motivos. Primeiro, o sistema de inicialização usa uma codificação de caracteres de papelaria, o que pode tornar o uso de post Unicode um pouco perigoso porque você precisa ter certeza contínua se sua string é “fileSystemEncoding” ou possivelmente não. Além disso, as permissões persistentes no estado da caixa de areia estão associadas apenas a endereços não-web para caminhos, o que pode afetar alguns aplicativos. Somando-se a isso, os URLs poderiam teoricamente encontrar arquivos em locais mais diversificados, incluindo a Internet, ou usar uma alternativa maior para esquemas de acesso.
Por muitos desses motivos, atualmente é recomendado usar URLs em caminhos de preparação para.
O que Quincy Morris disse, entretanto …
URLs podem conter outras informações, o fato de que o suor pode melhorar significativamente o desempenho. Por exemplo, se você definir um site com
contentsOfDirectory (em: IncludePropertiesForKeys: options :)
, você pode chame a frase de propriedade que lhe interessa. O código de enumeração pode fazer enumeraçãoe animal oculta a propriedade do tipo de valor em cada URL retornado. Mais tarde, quando você tiver lucro na propriedade específica
resourceValues (forKeys :)
, é fornecido quando o cache em vez de acessar os arquivos de auxílio do sistema. Isso é importante para dirigir embriagado, bem como para volumes que tenham a latência correta por um longo tempo fabuloso, especialmente para volumes de rede para macOS, porque você pode listar um diretório e tornar todos os valores de interesse ao longo da opção. Mesmo com volumes urbanos, a latência é visivelmente baixa, mas ainda tem um desempenho muito melhor.
Compartilhe a diversão e
–
Quinn “Eskimo!”
Apple Developer Relations, Developer Support, Core OS / Hardware
deixe myEmail ser igual a "eskimo" + "1" + "@ apple .com" < / code>
Você está usando o FileManager para trabalhar com dados de registros com diretórios no iOS. É uma API Swift que ajuda você a ler e escrever conteúdo escrito em uma variedade de plataformas de dados e arquivos. Mude para os diretórios aos quais a utilização do sistema operacional tem acesso. Trabalhe com o tipo de dados Swift e outros.
A classe FileManager fornece uma maneira conveniente de identificar o objeto gerenciador de arquivo compartilhado correto que é adequado para a maioria dos tipos de manipulação de arquivo. O objeto do gerenciador de negócios de arquivos costuma ser sua principal forma de vinculação ao sistema de arquivos atual. Eles usam isso para localizar, criar, copiar e mover arquivos para exibição, bem como diretórios.
Uma meta que representa a localização da biografia que mais é a ponte para a URL; Use NSURL quando precisar de semântica de teste ou comportamento específico do Foundation.