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
You should be able to cast self (id) to a void * without problem.
SCNetworkReachabilityContext context = {0, ( void * )self, NULL, NULL, NULL};
精彩评论