使用 Swift 将文件下载到应用程序根目录
Posted
技术标签:
【中文标题】使用 Swift 将文件下载到应用程序根目录【英文标题】:Downloading files into root app directory using Swift 【发布时间】:2014-08-29 21:46:41 【问题描述】:我是 Swift 编码的新手,我对 Objective C 没有太多经验,所以我尝试从网络 (csv) 下载文件并将其转储到根程序目录中。
很遗憾,尽管我正在学习 ObjectiveC 中 http://www.appcoda.com/background-transfer-service-ios7/ 的教程,但我在 Swift 中找不到任何操作教程。
这可能是非常基本的(并且很抱歉),但我正在尝试在 Swift 中创建一个类来替换 ObjectiveC 中 FileDownloadInfo 类的实现。 (如果有人有本教程的 Swift 示例,那将非常有帮助。
ObjectiveC 中的实现是:
@implementation FileDownloadInfo
-(id)initWithFileTitle:(NSString *)title andDownloadSource:(NSString *)source
if (self == [super init])
self.fileTitle = title;
self.downloadSource = source;
self.downloadProgress = 0.0;
self.isDownloading = NO;
self.downloadComplete = NO;
self.taskIdentifier = -1;
return self;
@end
然后通过
填充 FileDownloadArray-(void)initializeFileDownloadDataArray
self.arrFileDownloadData = [[NSMutableArray alloc] init];
[self.arrFileDownloadData addObject:[[FileDownloadInfo alloc] initWithFileTitle:@"iOS Programming Guide" andDownloadSource:@"https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/iphoneappprogrammingguide.pdf"]];
我在 Swift 类中创建了以下内容,但当然没有功能 - 我如何修改它以使我能够以与上述相同的方式填充数组?
import UIKit
class FileDownloadInfo: NSObject
var fileTitle: NSString
var downloadSource: NSString
var downloadTask: NSURLSessionDownloadTask?
var taskResumeData: NSData?
var downloadProgress: Double
var isDownloading: Bool
var downloadComplete: Bool
var taskIdentifier: Int
init(initWithFileTitle title: NSString, andDownloadSource source: NSString)
self.fileTitle = title
self.downloadSource = source
self.downloadProgress = 0.0
self.isDownloading = false
self.downloadComplete = false
self.taskIdentifier = -1
【问题讨论】:
【参考方案1】:我只阅读了部分介绍,这是我的看法。希望它可以提供帮助。为了直接翻译,你可以试试:
func initializeFileDownloadDataArray()
arrFileDownloadData = [FileDownloadInfo]()
arrFileDownloadData.append(FileDownloadInfo("iOS Programming Guide", downloadSource:"https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/iphoneappprogrammingguide.pdf" ))
如果我没看错的话,初始化器的格式如下:
init(title: String, downloadSource: String)
self.fileTitle = title
self.downloadSource = source
self.downloadProgress = 0.0
self.isDownloading = false
self.downloadComplete = false
self.taskIdentifier = -1
希望这行得通。
【讨论】:
以上是关于使用 Swift 将文件下载到应用程序根目录的主要内容,如果未能解决你的问题,请参考以下文章
Swift - 视频文件数组可以很好地保存到应用程序库,但不能正确保存到应用程序文档目录
如何使用 swift 从 iOS 设备上传文件(到 REDCap)
在 Swift 中使用 Glimpse 时将文档目录指定为文件输出 URL
Java算法面试题:编写一个程序,将e: eck目录下的所有.java文件复制到e:jpg目录下,并将原来文件的扩展名从.java改为.jpg