gpt4 book ai didi

iOS:ARC 不允许使用 CFTypeRef

转载 作者:可可西里 更新时间:2023-11-01 03:05:27 24 4
gpt4 key购买 nike

我想从我的钥匙串(keychain)中获取用户名/密码。为此,我遵循了本指南:

Simple iPhone Keychain Access

但是这部分在 ARC 中是不允许的:

NSData *result = nil;    
OSStatus status = SecItemCopyMatching(
(CFDictionaryRef)searchDictionary,
(CFTypeRef *)&result);

我能做什么?

最佳答案

ARC 只管理 Objective-C 类型。如果转换为 Core Foundation 类型,则必须使用 __bridge__bridge_retained__bridge_transfer 告诉 ARC 谁拥有该变量。

这是 Apple's official documentation关于 ARC 下的免费桥接,或参见 this blog post (向下滚动到免费桥接)以获得很好的概述。

例如:

NSData *inData = nil;
CFTypeRef inTypeRef = (__bridge CFTypeRef)inData;
OSStatus status = SecItemCopyMatching(
(__bridge CFDictionaryRef)searchDictionary,
&inTypeRef);

关于iOS:ARC 不允许使用 CFTypeRef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10252878/

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