gpt4 book ai didi

ios - 用 NSDictionary 填充数组

转载 作者:行者123 更新时间:2023-11-28 19:51:51 25 4
gpt4 key购买 nike

我有 NSDictionary 从 JSON 获取数据,现在我想管理该数据并填充 tableView。然而,我面临着意想不到的障碍。我的观点是——创建一个具有适当值的数组和方法(图像数组、文本值数组等)。目前我正在使用 AFNetworking。在一种方法中,我获得了 JSON 数据:

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

self.dataDict = (NSDictionary*)responseObject;

为了尝试创建清晰的代码,我想按功能分隔其他方法。我试过:

-(void)setImageView{
if (self.dataDict){
self.dataDictArray = [[self.dataDict valueForKey:@"id"] objectAtIndex:0];

然后,当我想使用 NSLog 时,我会执行以下操作:

NSLog(@"Check the array %@", [self.dataDictArray objectAtIndex:0]);

它抛出一个错误:*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSCFNumber objectAtIndex:]:无法识别的选择器发送到实例

很明显,这意味着我的数组中索引 0 处没有对象。但是当我这样做的时候:

NSLog(@"Check the array %@", self.dataDictArray);

它在控制台中显示我的数组填充了单个“id”数字 3,这实际上是 NSDictionary 中的第一个 id。

我想了解如何更正包含来自 NSDictionary 的数据的正确数组以及我做错了什么?

响应对象。看起来像这样:

(
{
id = 3;
dog = "\U041a\U0430\U043a\U043e\U0439-\U0442\U043e \U043c\U0443\U0434\U0430\U043a \U043d\U0430\U043a\U0440\U0443\U0442\U0438\U043b";
image = "cute_dog/116.jpg";
score = 586;
},
{
id = 115;
dog = "\U0422\U0430\U043d\U044f \U041a\U043b\U044e\U043a\U0432\U0438\U043d\U0430";
image = "cute_dog/115.jpg";
score = 481;
},

等等

谢谢!

最佳答案

通常如您所说,您有字典数组。因此,您应该按照以下步骤获取数据。

第 1 步。

self.dataDictArray = (NSArray*)responseObject;

第 2 步。

self.dataDict=[self.dataDictArray objectAtIndex:0];

第 3 步。

NSLog(@"ID = %@",[self.dataDict valueForKey:@"id"]);

简单。

干杯。

关于ios - 用 NSDictionary 填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28764000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com