gpt4 book ai didi

objective-c - 将 NSURL ** 转换为 CFURLRef *

转载 作者:搜寻专家 更新时间:2023-10-30 19:54:05 26 4
gpt4 key购买 nike

如何使用 ARC 编译以下代码?

int main() {

NSURL *url = [NSURL new];
NSURL * __strong *urlPointer = &url;
CFURLRef *cfPointer = (__bridge CFURLRef *)urlPointer;
geturl(cfPointer);
NSLog(@"Got URL: %@", url);
return 0;
}

我收到以下错误:

Incompatible types casting 'NSURL *__strong *' to 'CFURLRef *' (aka 'const struct __CFURL **') with a __bridge cast

我知道 CFURLRef 已经是一个指针,所以 CFURLRef * 是一个指向指针的指针,但是我正在使用的外部函数 (geturl), 需要一个 CFURLRef * 作为参数。我无法控制该功能,因此无法更改它。

如何将 urlPointer 转换为 CFURLRef * 指针?

最佳答案

您所做的大部分只是复杂的指针体操。为什么不这样做:

CFURLRef cfPointer = NULL;
geturl(&cfPointer);
NSURL *url = (__bridge NSURL *)cfPointer;
NSLog(@"Got URL: %@", url);

关于objective-c - 将 NSURL ** 转换为 CFURLRef *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15014887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com