Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Objective-C SCNetworkReachabilityContext ARC conversion

While converting an app to use Automatic Reference Counting I came across this error:

SCNetworkReachabilityContext context = {0, self, NULL, NULL, NULL};

Implicit conversion of an Objective-C pointer to 'void *' is disallowed with ARC

This fixes the compiler error, but gives a warning:

SCNetworkReachabilityContext context = {0, objc_unretainedPointer(self), NULL, NULL, NULL};

How to get rid of this warning?

Initializing 'void *' with an expression of type 'objc_objectptr_t' (aka 'const void *') discards qualifiers

like image 810
logotype Avatar asked Aug 22 '11 17:08

logotype


1 Answers

You should be able to cast self (id) to a void * without problem.

SCNetworkReachabilityContext context = {0, ( void * )self, NULL, NULL, NULL};
like image 191
Macmade Avatar answered Sep 30 '22 06:09

Macmade