【发布时间】:2017-02-06 12:25:22
【问题描述】:
[manager POST:urlString parameters:[self jsonDict] success:^(AFHTTPRequestOperation *operation, id responseObject){
NSLog(@"response data: %@", responseObject);
NSArray *postFromResponse = [ responseObject valueForKeyPath:@"credentials"];
NSLog(@"credentials:%@", postFromResponse);
for(NSDictionary *object in postFromResponse)
{
NSString *AccessKeyId = [object valueForKeyPath:@"AccessKeyId"];
NSLog(@"%@", AccessKeyId);
}
}
它给了我错误:
由于未捕获的异常“NSUnknownKeyException”而终止应用程序, 原因:'[<__nscfstring> valueForUndefinedKey:]:这个类 不符合键 AccessKeyId 的键值编码'
【问题讨论】:
-
for(NSDictionary *object in postFromResponse):postFromResponse似乎有一些NSString而不仅仅是NSDictionary对象(如果不是全部NSString)。这就是为什么在object是NSString的情况下,您不能调用valueForKeyPath。还是因为responseObject是NSString而不是NSDictionary?。目前尚不清楚是哪一行导致了问题,向我们展示 JSON 可能会有所帮助。 -
我的回复是:凭证 = { AccessKeyId = abac; SecretAccessKey = "99";会话令牌 = "rt"; };
-
请用它更新(编辑)您的问题,并指定它是
postFromResponse还是responseObject的值。 -
它来自 postFromResponse 值。其内部字典值,如 AccessKeyId、SessionId
标签: objective-c