![](/img/trans.png)
[英]ARC conversion of TPMultiLayoutViewController; Implicit conversion of an Objective-C pointer to 'const void *' is disallowed with ARC
[英]implicit conversion of an Objective-C pointer to 'void *' is disallowed with ARC
这是什么意思,我有什么选择?
ARC 不允许将 Objective-C 指针隐式转换为“void *”
我正在将一个 Xcode3 项目移植到 iOS5,它像这样使用 AudioSessionInitialize
AudioSessionInitialize(NULL, NULL, NULL, self);
这里的self
是一个 ViewController。
你应该使用 __bridge cast 。
AudioSessionInitialize(NULL, NULL, NULL, (__bridge void *)self);
你不能再对void*
进行隐式转换了, AudioSessionInitialize(NULL, NULL, NULL, objc_unretainedPointer(self));
应该做的伎俩。
编辑:历史观点,上面的答案来自__bridge
演员表最终确定之前。 在现代代码中,正确答案是@KazukiSakamoto, AudioSessionInitialize(NULL, NULL, NULL, (__bridge void*)self);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.