Iphone NSMutableArray对象索引:不工作

Iphone NSMutableArray对象索引:不工作,iphone,ios,objective-c,nsmutablearray,Iphone,Ios,Objective C,Nsmutablearray,我是ios开发新手。我以Dictionary(包含一个变量和一个条目字典数组)的形式从web服务中获取某些数据。我成功地将数据存储在userdefaults中 我使用for循环为每个项字典中的特定键形成一个名为img_url的新数组 我的问题是:当我使用[img_url objectAtIndex:0]访问此数组时,我会得到完整的数组作为输出,而不是仅在第0个索引处获得值。给出[img_url objectAtIndex:1]会给我一个异常 这是我的密码: NSDictionary *restD

我是ios开发新手。我以Dictionary(包含一个变量和一个条目字典数组)的形式从web服务中获取某些数据。我成功地将数据存储在userdefaults中

我使用for循环为每个项字典中的特定键形成一个名为img_url的新数组

我的问题是:当我使用[img_url objectAtIndex:0]访问此数组时,我会得到完整的数组作为输出,而不是仅在第0个索引处获得值。给出[img_url objectAtIndex:1]会给我一个异常

这是我的密码:

NSDictionary *restData=[[NSUserDefaults standardUserDefaults]valueForKey:@"Rest data"];
totalResult=[[restData valueForKey:@"totalResult"]intValue];
restaurants=[[NSArray alloc] initWithObjects:[restData valueForKey:@"restaurants"], nil ];
for(NSDictionary *item in restaurants)
{


    [img_urls addObject:[item valueForKey:@"profileImage"]];
}
  NSLog(@"REST NAMES%@",[img_urls objectAtIndex:0]);

任何帮助都将不胜感激。提前谢谢

如下更改方法:-

img_urls=[NSMutableArray array];
NSDictionary *restData=[[NSUserDefaults standardUserDefaults]valueForKey:@"Rest data"];
totalResult=[[restData valueForKey:@"totalResult"]intValue];
restaurants=[[NSArray alloc] initWithObjects:[restData valueForKey:@"restaurants"], nil ];
for(NSDictionary *item in restaurants)
{


    [img_urls addObject:[item valueForKey:@"profileImage"]];
}
//Check first array count
if ([img_urls count] > 0)
{
  NSLog(@"REST NAMES%@",[img_urls objectAtIndex:0]);
}
[[NSArray alloc]initWithObjects:[restData valueForKey:@“餐厅”],无]

//修改如下


[[NSArray alloc]initWithArray:[restData valueForKey:@“restaurants”]
首先,您是否分析了一个数组,请按如下方式尝试:-

img_urls=[NSMutableArray array];
NSDictionary *restData=[[NSUserDefaults standardUserDefaults]valueForKey:@"Rest data"];
totalResult=[[restData valueForKey:@"totalResult"]intValue];
restaurants=[[NSArray alloc] initWithObjects:[restData valueForKey:@"restaurants"], nil ];
for(NSDictionary *item in restaurants)
{


    [img_urls addObject:[item valueForKey:@"profileImage"]];
}
//Check first array count
if ([img_urls count] > 0)
{
  NSLog(@"REST NAMES%@",[img_urls objectAtIndex:0]);
}
您在初始化时将数组([restData valueForKey:@“restaurants”])作为对象提供给restaurants数组,因此在使用
objectAtIndex:0

NSDictionary *restData=[[NSUserDefaults standardUserDefaults]valueForKey:@"Rest data"]; totalResult=[[restData valueForKey:@"totalResult"]intValue]; restaurants=[[NSArray alloc] initWithArray:[restData valueForKey:@"restaurants"]]; for(NSDictionary *item in restaurants) { [img_urls addObject:[item valueForKey:@"profileImage"]]; } NSLog(@"REST NAMES%@",[img_urls objectAtIndex:0]); NSDictionary*restData=[[NSUserDefaults standardUserDefaults]valueForKey:@“Rest数据”]; totalResult=[[restData valueForKey:@“totalResult”]intValue]; 餐厅=[[NSArray alloc]initWithArray:[restData valueForKey:@“餐厅”]; 用于(餐厅中的NSDictionary*项目) { [img_url addObject:[item valueForKey:@“profileImage]”; }
NSLog(@“REST NAMES%@,[img_url objectAtIndex:0]);显示用于创建/分配
img_URL
的代码。addObject语句就是这样做的。只需在视图中加载数组的alloc init即可。这对您有用。@user2885928不,不适用。该行将对象添加到“添加”。首先如何创建数组?请使用
objectForKey
从字典中提取对象,而不是
valueForKey
(用于键值编码)。