Ios 循环的dropbox V2 DBFileMetadata未递增

Ios 循环的dropbox V2 DBFileMetadata未递增,ios,objective-c,nsarray,dropbox-api,Ios,Objective C,Nsarray,Dropbox Api,我很难理解如何合并计数器,以便“setObject”在这个for..循环中增加它的“Save” NSMutableArray *NewArray = [NSMutableArray new]; NSMutableDictionary *dict = [NSMutableDictionary dictionary]; for ( DBFILESMetadata *entry in result.entries) { [dict setObject:ent

我很难理解如何合并计数器,以便“setObject”在这个for..循环中增加它的“Save”

   NSMutableArray *NewArray = [NSMutableArray new];
   NSMutableDictionary *dict = [NSMutableDictionary dictionary];


     for ( DBFILESMetadata *entry in result.entries) {

        [dict setObject:entry.pathDisplay forKey:@"pathDisplay"];

        [dict setObject:entry.name forKey:@"name"];

        [NewArray addObject:dict];

     }
我相信这是一个简单的答案,最后一行只保存result.entries的最后一项。NewArray具有正确的项计数,但数组中的每个项都是结果的最后一项。项:

2017-04-13 16:47:58.876 Sites[11145:688352] NewArray (
     {
     name = 229;
     pathDisplay = "/Sites/229";
     },
     {
     name = 229;
     pathDisplay = "/Sites/229";
    }
  ).
我需要添加某种类型的计数器来设置下一个对象,只是不知道它应该去哪里

提前谢谢

我想出来了:

  for ( DBFILESMetadata *entry in result.entries) {

        [imagePaths addObject:entry.pathDisplay];
        [names addObject:entry.name];
     }

     for(int i=0; i<[result.entries count]; i++) {
         dict = @{@"name": names[i], @"pathDisplay": imagePaths[i]};
         [allObjects addObject:dict];
     }
for(result.entries中的dbfilesmatadata*条目){
[imagePaths addObject:entry.pathDisplay];
[名称addObject:entry.name];
}

对于(int i=0;i而言,字典项键必须不同。否则,您将始终看到最后一个设置项。因为当保存同一个键时,字典将覆盖。因此,您可以像下面一样使用

1.解决办法

NSMutableArray *NewArray = [NSMutableArray new];
NSMutableDictionary*dict=[NSMutableDictionary]

 int i = 0;
 for ( DBFILESMetadata *entry in result.entries) {
   
    [dict setObject:entry.pathDisplay forKey:[NSString stringWithFormat:@"pathDisplay%d",i]];

    [dict setObject:entry.name forKey:[NSString stringWithFormat:@"name%d",i]];

    [NewArray addObject:dict];
     i++;

 }
2.解决方案

创建一个包含json属性的类,就像下面的示例一样

HoldJsonDataClass.h
    @interface HoldJsonDataClass : JsonData
    @property (nonatomic,retain) NSString *name;
    @property (nonatomic,retain) NSString * pathDisplay;
    @end

HoldJsonDataClass.m    
    @implementation HoldJsonDataClass
    
    @end
然后将类填充到数组中。此解决方案更清晰

    for ( DBFILESMetadata *entry in result.entries) {

    HoldJsonDataClass *holdJsonClass = [HoldJsonDataClass new];
    holdJsonClass.name = entry.name;
    holdJsonClass.pathDisplay = entry.pathDisplay;
    [NewArray addObject:holdJsonClass];
 }