0

当我尝试将 NSMutableArray 的一部分转换为 NSInteger 时,我得到九位数字(可能是扇区数),而不是这部分的值。

NSInteger i = [_tableData[1][@"likes"][@"count"] intValue];

_tableData - 从 vk.com 服务器转换的答案

NSMutableArray *_tableData;
//------------------

- (void)viewDidLoad
{
    _tableData = [[NSMutableArray alloc] init];
    [[VKConnector sharedInstance]
    setDelegate:self];
    [[VKConnector sharedInstance] startWithAppID:@"3541027"
    permissons:@[@"wall"]];
}

#pragma mark - VKConnectorDelegate

- (void)VKConnector:(VKConnector *)connector accessTokenRenewalSucceeded:(VKAccessToken *)accessToken
{
    [[VKUser currentUser] setDelegate:self];
    [[VKUser currentUser] wallGet:@{@"owner_id":@"-44554509",@"count":@"100"}];
}

#pragma mark - VKRequestDelegate

- (void)VKRequest:(VKRequest *)request response:(id)response
{
    _tableData = response[@"response"];
    [_mainList reloadData];
}

在此处输入图像描述

4

1 回答 1

0

您不是在转换 a NSMutableArray,而是在转换包含的任何对象。即便如此,它也有点令人困惑:

NSInteger i = [_tableData[1][@"likes"][@"count"] intValue];

...所以tableData大概在索引 1 处包含一个字典,该字典又在该键下包含另一个字典,然后在该键下likes包含一个。这就是我的假设,但实际上您的嵌套数组/字典似乎很可能包含其他内容。NSValuecount

您应该调试您的应用程序以准确确定您正在访问的对象。您可以使用断点或通过添加一些日志记录语句(或两者)来执行此操作。

于 2013-08-06T12:49:36.967 回答