iOS - Swift我怎么知道copyItemAtPath何时完成?

时间:2016-06-08 11:36:46

标签: ios swift nsfilemanager

我想在开头创建pre-seed数据库 该文件非常大(5mb)。

我使用copyItemAtPath来复制文件,所以这个方法已经完成了吗? 我怎么知道这个过程何时完成?

2 个答案:

答案 0 :(得分:1)

这段代码就足够了:

do {
    // copy files from main bundle to documents directory
    print("copy")
    try 
        NSFileManager.defaultManager().copyItemAtPath(sourcePath, toPath: destinationPath)
} catch let error as NSError {
     // Catch fires here, with an NSError being thrown
     print("error occurred, here are the details:\n \(error)")
}

其中destinationPath可以是例如:

NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, .UserDomainMask, true).first

答案 1 :(得分:0)

来自How to show the progress of copying a large file in iOS?

  
      
  1. 在单独的线程(T1)中运行复制过程
  2.   
  3. 运行另一个定期读取的线程(T2)(比如每100ms)   目标文件current_size。
  4.   
  5. 计算显示进度的百分比:current_size / total_size
  6.