次のコードを使用して、ファイルのアップロード順序を取得します。ファイルはこの特定の順序でアップロードする必要があり、同時にアップロードすることはできません。したがって、スレッドがハングするため、コードをこの 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
または保持し、このリストを 1 つずつ調べることでした。NSMutableDictionaries
これは賢明な考えですか、それともより良い解決策がありますか? また、ファイルがアップロードされたら、foo ループで変更可能なディクショナリ内の値を更新する必要があることにも注意してください。アップロードが終了したら、特定の値を 0 に設定する必要があるという値 = "1" を確認します。