我可以在swift 3的documentDirectory中自定义文件名或添加标签吗?

时间:2018-02-15 16:13:06

标签: ios swift

我正在使用thedownloads中的音频文件,它们目前已从远程URL保存到目录。

对于新功能,我希望用户能够删除这些文件。我正在成功地做到这一点,但我无法为用户提供这种可读性。

例如,使用该目录,我可以创建一个"文件名的字符串"就像我在e8213375-917e-482a-8ba4-f58a298d8bf1变量中所做的那样;但是,它会生成一个像documentDirectory这样的文件名,但不会帮助用户找出他们要删除的音频文件。

我阅读class DownloadTableViewController: UITableViewController { var thedownloads = [String]() override func viewDidLoad() { super.viewDidLoad() // Get the document directory url let documentsUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! do { // Get the directory contents urls (including subfolders urls) let directoryContents = try FileManager.default.contentsOfDirectory(at: documentsUrl, includingPropertiesForKeys: nil, options: []) // print(directoryContents) // if you want to filter the directory contents you can do like this: let mp3Files = directoryContents.filter{ $0.pathExtension == "mp3" } //print("mp3 urls:",mp3Files) let mp3FileNames = mp3Files.map{ $0.deletingPathExtension().lastPathComponent } //print("mp3 list:", mp3FileNames) thedownloads = mp3FileNames } catch { print(error.localizedDescription) } print(thedownloads) 上的文档,但没有看到任何内容 - 是否有任何方法可以在我可以在此处调用的目录中为每个文档添加类似标签的内容(例如,如果每个文件名也可以调用" Track 1"," Track 2" in cell)?

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ball1 = (ImageView) findViewById(R.id.ball1);
        ball2 = (ImageView) findViewById(R.id.ball2);
        ball3 = (ImageView) findViewById(R.id.ball3);  

    }

private void startBallAnimation() {
    final TranslateAnimation animation = new TranslateAnimation(
            TranslateAnimation.RELATIVE_TO_PARENT, 0.0f,
            TranslateAnimation.RELATIVE_TO_PARENT, 0.0f,
            TranslateAnimation.RELATIVE_TO_PARENT, 0.0f,
            TranslateAnimation.RELATIVE_TO_PARENT, 0.86f
    );

    animation.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {
            mhandle.post(new Runnable() {
                @Override
                public void run() {
                    setBallColors();
                }
            });
        }

        @Override
        public void onAnimationRepeat(Animation animation) {}

        @Override
        public void onAnimationEnd(final Animation animation) {}

    }
}

0 个答案:

没有答案