ios – 如何设置Swift中有条件断点的条件与自我和枚举?

ios – 如何设置Swift中有条件断点的条件与自我和枚举?,第1张

概述我有一个HTTP方法枚举: enum HTTPMethod: String { case GET = "GET" case POST = "POST"} 我有一个请求类和一个请求包装类: class Request { let method: HTTPMethod = .GET}class RequestWrapper { let request: Request f 我有一个http方法枚举:
enum httpMethod: String {  case GET = "GET"  case POST = "POST"}

我有一个请求类和一个请求包装类:

class Request {  let method: httpMethod = .GET}class RequestWrapper {  let request: Request  func comparetoRequest(incomingRequest: NSURLRequest) -> Bool {     // Next line is where the conditional breakpoint set.     return request.method.rawValue == incomingRequest.httpMethod  }}

我在这个行上设置了一个条件断点

return request.method.rawValue == incomingRequest.httpMethod

条件:

self.request.method == httpMethod.POST

然后调试器停在行上并显示一条错误消息:

Stopped due to an error evaluating condition of breakpoint 1.1:     "self.request.method == httpMethod.POST"Couldn't parse conditional Expression:<EXPR>:1:1: error: use of unresolved IDentifIEr 'self'self.request.httpMethod == httpMethod.POST

如果我删除自己,并将条件更改为:

request.method == httpMethod.POST

错误信息如下:

Stopped due to an error evaluating condition of breakpoint 1.1:  "request.method == httpMethod.POST"Couldn't parse conditional Expression:<EXPR>:1:1: error: Could not find member 'method'request.method == httpMethod.POST^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

有没有办法解决这个问题?

更新:

可以使用LLDB命令检查self.request.method的值:

fr v self.request.method

如果我使用本地常量来存储值,调试器可以停在正确的位置:

// Use a local constant to store the http methodlet method = request.method// Condition of breakpointmethod == httpMethod.POST

更新2:

我正在使用Xcode 6.3.1

解决方法 这显然是一个lldb BUG.你没有提到你正在使用什么版本的工具.如果您没有使用6.3.1或更高版本,请再试一次.如果您仍然遇到问题,请提交 http://bugreporter.apple.com的错误.

注意,框架var和expr是相当不同的野兽. frame var仅打印局部变量的值,直接使用DWARF调试信息,但不是表达式求值程序.所以,例如,它不够了解==.我想像如果你这样做:

(lldb) self.request.method == httpMethod.POST

当在那个断点停止时,你会看到相同的效果.

表达式解析器必须扮演一个额外的技巧,作为你的类的方法(通过自我等获得透明的引用),而且这是一个有点棘手的事情.显然我们没有在你的情况下正确地做这个工作.

总结

以上是内存溢出为你收集整理的ios – 如何设置Swift中有条件断点的条件与自我和枚举?全部内容,希望文章能够帮你解决ios – 如何设置Swift中有条件断点的条件与自我和枚举?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1112316.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存