gpt4 book ai didi

c++ - 如何将 C++ 变量存储为 NSDictionary 中的值?

转载 作者:行者123 更新时间:2023-11-30 01:51:20 25 4
gpt4 key购买 nike

我正在使用 Objective-C++ 进行编码,并希望将 ObjC 结构转换为 C++。ObjC 端变量在 const NSString* 中,C++ 端变量在枚举中。

我的项目使用 ARC。

我是这样做的:

NSDictionary* myDict = [NSDictionary dictionaryWithObjectsAndKeys: My::NameSpace::enumVar, MyObjCVar, nil]

这给了我一个编译器错误:

Implicit conversion of 'int' to 'id' is disallowed with ARC.

有没有一种通用的方法可以将任何 C++ 类型存储到 NSDictionary 中?

最佳答案

除了 NSObject 指针(id 类型)之外,您不能直接在 NSDictionary 中为键或值存储任何内容。您需要将对象/指针/值装箱到 objective-c 对象中,例如 NSValueNSNumber,或者使用 NSMapTable .

关于c++ - 如何将 C++ 变量存储为 NSDictionary 中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26225237/

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