gpt4 book ai didi

c++ - NSMutableArray 到 std::vector

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

是否可以将 NSMutableArray 的内容转换为 std::vector?如果是这样,应该在 Objective-C 或 C++ 代码中完成吗?

最佳答案

您可以创建任何 Objective-C 类型的 vector 。
例如,要将 NSString 实例存储到 vector 中,您可以使用下一个代码:

    NSMutableArray<NSString*>* array = [@[@"1", @"2"] mutableCopy];

__block std::vector<NSString*> vectorList;
vectorList.reserve([array count]);
[array enumerateObjectsUsingBlock:^(NSString * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
vectorList.push_back(obj);
}];

for (std::vector<NSString*>::const_iterator iterator = vectorList.cbegin(); iterator != vectorList.cend(); iterator++)
{
NSLog(@"%@", *iterator);
}

您应该在 Objective-C++ 文件中使用它,因为 C++ 没有针对 Objective-C(扩展名为 mm 的文件)的语法。

如果您需要将 NSMutableArray 中的数据转换为不同的表示形式,例如,NSNumber 到 int 或 NSString 到 std::string,您应该手动创建它。

关于c++ - NSMutableArray 到 std::vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44615381/

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