gpt4 book ai didi

iphone - 如何在 Objective-C 中使用对象作为键

转载 作者:行者123 更新时间:2023-12-01 18:01:46 24 4
gpt4 key购买 nike

我想使用自定义对象作为类似哈希结构的键。我试过使用 NS[Mutable]Dictionary但为了让我的对象成为键,它必须实现 NSCopying协议(protocol)。 NSDictionary正在发送 copy据我所读到的所有键的消息。我不想实现协议(protocol)(我的对象非常复杂),也不希望它被复制。我有哪些选择?我有吗?

最佳答案

NSDictionaryCFDictionaryRef 免费桥接,但它们在添加对象时的行为实际上有所不同。具体来说,NSDictionary-setObject:forKey:将复制 key ,但 CFDictionaryRefCFDictionarySetValue()不会复制 key 。这意味着如果你想使用不可复制的 key ,你可以使用 CFDictionarySetValue()而是将其添加到字典中。

CFDictionarySetValue((CFMutableDictionaryRef)myDict, myKey, myValue);

这仍将保留 key ,但不会复制它。你可以使用正常的 NSDictionary其他一切的方法。

关于iphone - 如何在 Objective-C 中使用对象作为键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8598418/

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