La aplicación se bloquea al pasar como un observador al agregar notificación en el método Singleton

Mi aplicación se está estrellando cuando paso yo como observador mientras agrego la NSNotification dentro del método de class de creación de object singleton. Por favor mire en el siguiente código.

+(DownloadThumbnail *)shanetworkingDownloadThumbnailInstance{ if(downloadThumbnail==nil){ downloadThumbnail = [[DownloadThumbnail alloc]init]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(connectedToInternet) name:NotifyInternetConnection object:nil]; } return downloadThumbnail; } 

Pasé alnetworkingedor de 4 a 5 horas para resolver el crash, pero no obtuve ninguna solución.

Mirar el puntero "auto" siempre le da una reference del object de la class actual, pero si está usando este puntero bajo el método de class, significa que le dará un puntero de class, es decir, "DownloadThumbnail". Entonces, cada vez que se activa la notificación, llamará al código siguiente similar al siguiente.

 [DownloadThumbnail connectedToInternet]; 

Como ningún método de class ha encontrado para "connectedToInternet", es por eso que se está estrellando.

Por lo tanto, debe pasar la reference del object creado de "downloadThumbnail", el código se verá a continuación

 [[NSNotificationCenter defaultCenter] addObserver:downloadThumbnail selector:@selector(connectedToInternet) name:NotifyInternetConnection object:nil]; 

Ahora intente, no se cuelga 🙂

También puede referir este enlace NSNotificationCenter: addObserver que no es uno mismo para get más detalles sobre cómo pasar un "self" como observador en NSNotificationCenter.