在将应用转换为使用自动引用计数时,我遇到了此错误:
SCNetworkReachabilityContext context = {0, self, NULL, NULL, NULL};
ARC 不允许将Objective-C指针隐式转换为'void *'
这可以修复编译器错误,但会发出警告:
SCNetworkReachabilityContext context = {0, objc_unretainedPointer(self), NULL, NULL, NULL};
如何摆脱这种警告?
使用'objc_objectptr_t'(又名'const void *')表达式初始化'void *'会丢弃限定符
答案 0 :(得分:7)
你应该能够毫无问题地将self(id)转换为void *。
SCNetworkReachabilityContext context = {0, ( void * )self, NULL, NULL, NULL};