Кто-нибудь может сказать лучший подход для запуска игрового цикла, как Uno или Herats (Deck Game)
[CPU2 turn]; [CPU3 turn]; [User turn]; // Wait to get user input before proceed to [CPU4 turn] [CPU4 turn];
Возможно, вы могли бы превратить в NSOperation экземпляры подкласса, помещенные в NSOperationQueue, который настроен на разрешение только одного одновременного поворота / операции. В этом случае повороты обрабатываются в порядке «первым пришел - первым вышел» (FIFO). Подробнее об этом можно прочитать в документе Apple Managing Concurrency .
NSOperation
NSOperationQueue