我使用以下代码来检索文件的上传顺序。文件必须按此特定顺序上传,不能同时上传。因此,我不能将我的代码放在这个 for 循环中,因为它会挂起线程。
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"order" ascending:YES];
NSArray *sortedArray = [agenciescontroller.arrangedObjects sortedArrayUsingDescriptors:[NSArray arrayWithObject:sort]];
for (NSManagedObject *a in sortedArray)
{
for (NSMutableDictionary *d in imagescontroller.arrangedObjects)
{
if ([[NSString stringWithFormat:@"%@",[d valueForKey:[a valueForKey:@"agency"]]] isEqualToString: @"1"])
{
///////////////////////////UPLOAD FILES HERE/////////////////////////////
checkedchecks += 1;
NSLog(@"Uploading %@ to %@", [d valueForKey:@"filename"], [a valueForKey:@"agency"]);
}
}
}
我的想法是使用这个 for 循环来填充NSMutableArray
或NSMutableDictionaries
保存要上传的文件的精确列表,然后一个一个地浏览这个列表。这是一个明智的想法还是有更好的解决方案?还要记住,一旦文件被上传,我必须在 foo 循环中更新可变字典中的值。我在哪里检查值 =“1”,一旦上传完成,特定值必须设置为 0。