相关疑难解决方法(0)

AlamoFire用于JSON请求的异步completionHandler

使用AlamoFire框架后,我注意到completionHandler在主线程上运行.我想知道下面的代码是否是在完成处理程序中创建Core Data导入任务的好方法:

Alamofire.request(.GET, "http://myWebSite.com", parameters: parameters)
            .responseJSON(options: .MutableContainers) { (_, _, JSON, error) -> Void in
                dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), { () -> Void in
                    if let err = error{
                        println("Error:\(error)")
                        return;
                    }

                    if let jsonArray = JSON as? [NSArray]{                       
                        let importer = CDImporter(incomingArray: jsonArray entity: "Artist", map: artistEntityMap);

                    }
                });
            }
Run Code Online (Sandbox Code Playgroud)

swift alamofire

78
推荐指数
1
解决办法
3万
查看次数

应用程序在后台时,Alamofire后台上传无法打印进度

我正在使用将PDF文件上传到服务器Alamofire。我创建的backgroundSessionManager目的是确保应用程序在后台运行时上传文件。当我backgroundCompletionHandlerAppDelegatemethod 调用时,代码可以正常工作handleEventsForBackgroundURLSession

进度是我正在显示进度,当应用程序进入后台时,进度卡住了,.uploadProgress完成也没有调用。因此,当用户进入后台并且一段时间后返回时,进度不会增加。

共享实例:

class Networking {
    static let sharedInstance = Networking()
    public var backgroundSessionManager: Alamofire.SessionManager // your web services you intend to keep running when the system backgrounds your app will use this
    private init() {
        self.backgroundSessionManager = Alamofire.SessionManager(configuration: URLSessionConfiguration.background(withIdentifier: "com.dw.myapp"))

        var backgroundCompletionHandler: (() -> Void)? {
            get {
                return backgroundSessionManager.backgroundCompletionHandler
            }
            set {
                backgroundSessionManager.backgroundCompletionHandler = newValue
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上载文件代码

Networking.sharedInstance.backgroundSessionManager.upload(multipartFormData: { (multipartData) …
Run Code Online (Sandbox Code Playgroud)

background file-upload swift alamofire

5
推荐指数
1
解决办法
523
查看次数

标签 统计

alamofire ×2

swift ×2

background ×1

file-upload ×1