use*_*693 1 objective-c lldb afnetworking
我正在从服务器加载JSON,发现非常奇怪的类型名称,并且不知道如何处理它 
什么struct _lldb_autogen_pair意思,为什么它在那里,当JSON是:
原版的:
{
"2011.10.06": [
{
"place":"home",
"role":0,
"title":"abc"
}
],
}
Run Code Online (Sandbox Code Playgroud)
更新 我有AFHTTPRequestOperationManager的单例子类,所以我做
client = [[VZWebClient alloc] initWithBaseURL:[NSURL URLWithString:kVZWebClientHostName]];
client.responseSerializer = [AFJSONResponseSerializer serializer];
Run Code Online (Sandbox Code Playgroud)
在NSLOG,没有任何惊喜,一切都好
您正在查看NSDictionary的内容.容器在逻辑上由键==>值对组成.
但是,如果你去查看字典的内存中表示,它只是存储一系列对象指针,例如像
0x123 (key)
0x456 (value)
0x356 (key)
0x577 (value)
...
Run Code Online (Sandbox Code Playgroud)
如果您是LLDB,则需要找到一种方法,将每个密钥与其值组合在一起.在C++中,这是一个简单的问题,因为你可以使用std :: pair <>(并且C++ std :: map <>倾向于在内部使用该类型来存储条目,因此你可以免费获得分组).在ObjC中,您需要一些可以让您进行分组的东西.
所以我们所做的就是生成一个假的__lldb_autogen_nspair,它基本上归结为
struct __lldb_autogen_nspair { id key; id value; };
Run Code Online (Sandbox Code Playgroud)
我们将NSDictionary作为这些结构的容器呈现.
这个名字几乎就是说"嘿这是一个LLDB实现细节,不要担心它".
| 归档时间: |
|
| 查看次数: |
998 次 |
| 最近记录: |