首页 > 解决方案 > alamofire responseStreamString 解码

问题描述

最近开始学习 Swift :)

let req = AF.streamRequest(...)
req.responseStreamString { stream in
    switch stream.event {
    case let .stream(result):
          switch result {
          case let .success(string):
            print(string)
          case let .failure(error):
            print("failure")
              print(error)
          }
    case .complete(_): //
        print("complete")
    }

我如何获得我需要的实际价值,而不必每次都说选择第 4 行?

这是来自的输出print(string)

--eventStreamBoundary
Content-Type: text/plain
Content-Length: 23
20200428124609 5 X NULL

20200428124609 5 X NULL是我追求的价值,我需要自定义解码还是内置的东西已经存在?

谢谢你

标签: swiftalamofire

解决方案


DataStreamRequest仅在Data它们进入时提供(或解析的)值流,除了自动提供的内容之外,它不会对自身进行额外的解析URLSession。您需要自己解析响应。这可以封装在一个DataStreamSerializer而不是将所有逻辑放入一个闭包中。

您使用的是哪种 HTTP 响应格式?


推荐阅读