La clave está en la diferencia entre síncrono y asíncrono. Con el primero, sincrónico , implica que deben ocurrir dos cosas al mismo tiempo, o alternativamente, que una de ellas debe esperar hasta que la otra se ponga al día. Con este último, asincrónico , significa que las dos cosas no saben o no les importa cuando la otra está sucediendo.
El método anterior, performBlock , es el que es asíncrono . Eso significa que puede ejecutarse en cualquier momento y la función que lo llamó puede continuar sin necesidad de saber si el bloque fue exitoso o no. El hilo principal puede continuar incluso si el bloque aún está o no ha comenzado a ejecutarse.
El último método, performBlockAndWait , es sincrónico . El subproceso principal se detendrá y esperará una respuesta del bloque antes de continuar con la siguiente operación.
- ¿Cuál es una buena base de datos para usar en una aplicación iOS de reserva de viajes?
- ¿Es posible actualizar mi versión de iPhone 6 iOS a través de iTunes sin tener jailbreak?
- ¿Recomendarías hacer un jailbreak a un iPhone?
- ¿Debería un desarrollador de iOS obtener un iPhone 6 o un iPhone 6 Plus?
- ¿Por qué Apple eligió lanzar el iPhone antes que el iPad?
Si está realizando una operación en la que no puede continuar hasta que sepa si el bloque al que llamó fue exitoso o no, entonces use performBlockAndWait . Si lo que está haciendo puede suceder en segundo plano a su programa principal, usaría performBlock .