Jeśli chcesz kolejkę szeregową, ustaw prawidłową czynność maxConcurrentOperation na jedną. Możesz także użyć [NSOperationQueue mainQueue] zamiast tworzyć nową kolejkę, a więc wykonywać operacje kolejkowania w głównym wątku. Jest to jednak użyteczne tylko w przypadku dodania bardzo krótkich operacji, aby interfejs użytkownika nie był blokowany. Z drugiej strony nie musisz się martwić o zsynchronizowanie wątków.
Możesz dodawać operacje do dowolnej kolejki z addOperations: waitUntilFinished: TAK lub wysyłając komunikat waitUntilAllOperationsAreFinished za każdym razem, gdy dodajesz operację. W ten sposób operacje serializacji są wykonywane zamiast definiowania kolejki jako seryjnej.
Co jest nie tak z tym sposobem? –
tylko sposób? w inny sposób? – lakesh
Tak, to jedyny sposób. –