首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NSURLRequest到NSString

NSURLRequest到NSString
EN

Stack Overflow用户
提问于 2010-03-07 06:13:54
回答 4查看 36.6K关注 0票数 16

如何将NSURLRequest转换为NSString?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-07 06:20:27

取决于您希望在字符串中包含的信息。您想让它包含对象中实例变量的所有值吗?如果是这样的话,您将需要编写自己的方法来完成此任务。也许可以子类化NSURLRequest并重写description。您还可以使用反射来获取所有的私有ivars,并从另一个类中打印出所有内容。

或者只使用调试器检查这些值。

票数 9
EN

Stack Overflow用户

发布于 2011-08-04 16:02:33

代码语言:javascript
复制
- (NSString*) urlRequestToString:(NSURLRequest*)urlRequest
{
  NSString *requestPath = [[urlRequest URL] absoluteString];
  return requestPath;
}
票数 47
EN

Stack Overflow用户

发布于 2015-04-21 21:01:00

如果您使用的是swift,则可以实现以下extension

代码语言:javascript
复制
extension NSURLRequest: DebugPrintable {
    public func extendedDescription() -> String {

        var result = "<\(NSStringFromClass(self.dynamicType)): " + String(format: "%p", self)
        result += "; HTTPMethod=" + (HTTPMethod ?? "nil") + "; URL=\(URL); timeoutInterval=" + String(format: "%.1fs", timeoutInterval) + "> {"

        // Add header fields.
        if let headers = allHTTPHeaderFields {
            result += "\nallHTTPHeaderFields {"
            for (key, value) in headers {
                result += "\n\t\(key) : '\(value)'"
            }
            result += "\n}"
        }

        if let body = HTTPBody {
            result += "\nHTTPBody {\n " + ((NSString(data: body, encoding: NSASCIIStringEncoding) ?? "") as String) + "}"
        }

        return result + "\n}"
    }

    public override var debugDescription: String {
        return extendedDescription()
    }

    public override var description: String {
        return extendedDescription()
    }
}

或者看看这个要点:https://gist.github.com/tomaskraina/d644af49e4968de85e34

如果打印出来,它将显示类似以下内容:

代码语言:javascript
复制
<NSMutableURLRequest: 0x7fa91977e390; HTTPMethod=POST; URL=https://myapi.com/api/something; timeoutInterval=300.0s> {
allHTTPHeaderFields {
    Accept-Encoding : 'gzip'
    Content-Type : 'application/json'
    Accept : 'application/json'
}
HTTPBody {
    {"key1":"value1"}
}
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2394289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档