Ios 循环的dropbox V2 DBFileMetadata未递增
我很难理解如何合并计数器,以便“setObject”在这个for..循环中增加它的“Save”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
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];
}