logotype
logotype

Reputation: 53

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

Upvotes: 5

Views: 2192

Answers (1)

Macmade
Macmade

Reputation: 54000

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

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

Upvotes: 7

Related Questions