Search code examples
objective-cxcodensurlrequestlldb

Why does printing (po) NSURLRequest's URL.path start with / but not when I hover over in Xcode?


I have:

AFHTTPRequestOperation* operation;
...
if ([operation.request.URL.path isEqualToString:somePath])
{
    ...
}

When I print it out I get:

(lldb) po operation.request.URL.path
/users/12345678/data/something

But when I hover over the variable path, the Xcode popover shows:

users/12345678/data/something

Why?

ps: Shown URLs are purely fictional :-) But it really does happen here and now.


Solution

  • To err on the side of caution, yes, do what Jason said and file a bug, and we will look at it.

    On the other hand, be aware that in general, "po" works by running an API on your object provided by the framework vendors. Hovering in Xcode works by invoking the LLDB data formatters provided by the LLDB team.

    There is no promise that the two will agree in the way they choose to represent objects (cfr. po @[@1,@2,@3] with p @[@1,@2,@3] to see this very clearly)