Un object MKNetworkEngine al usar MKNetworkKit

Acabo de cambiar a usar MKNetworkKit y estoy confundido si debería crear un object MKNetworkEngine al iniciar la aplicación y lo uso cada vez que quiero una connection de networking, o si debería crear uno nuevo cada vez.

Si necesitaba crear solo uno y usarlo a lo largo de la vida de la aplicación, habría asumido que MKNetworkKit crearía un singleton, pero no parece (no es que lo pueda ver).

Por otro lado, parece complicado asignar / init MKNetworkEngine cada vez que quiero hacer una request GET simple.

Algo no parece correcto, así que me pregunto si lo estoy usando correctamente.

Etienne678 tiene razón. Debería crear un motor para cada server web y establecer los encabezados globales (como gzip) y otros requeridos por ese server en el motor.

Cuando pone en queue una operación, a un motor estos encabezados se anexan automáticamente.

usted crea un motor para cada service web al que desea llamar y lo mantiene como una propiedad sólida en el delegado de la aplicación
(facebook = un motor / twitter = un motor / flickr = un motor)

El creador Mugunth Kuma escribe esto:

MKNetworkEngine es una class pseudo-singleton que gestiona la queue de la networking en su aplicación. Es un pseudo-singleton, en el sentido, para requestes simples, debe usar los methods MKNetworkEngine directamente. Para una personalización más potente, debe subclass. Cada subclass MKNetworkEngine tiene su propio object Reachability que lo notifica de las notifications de accesibilidad del server. Debería considerar crear una subclass de MKNetworkEngine para cada server REST único que utilice. Es pseudo-singleton en el sentido, cada request en cualquiera de sus subclasss pasa por una sola queue.

ver este articulo de blog