Objective-C中的C++ STL容器"pair <T1,T2>"的等价物?

Mic*_*ith 15 c++ iphone stl objective-c std-pair

我是Objective-C的新手,所以请不要过多地评价我.我想知道:我可以在Objective-C中使用相当于C++ STL对的容器吗?

我想构建一个包含与NSBool关联的NSInteger的数组.我知道我可以使用一个数组,每个条目都是一个具有单个键值的NSDictionary,但我发现它有点矫枉过正.

有任何想法吗?

谢谢.

Car*_*rum 16

您可以编写自己的数据结构对象 - 对于这么简单的情况,它会非常简单:

@interface Pair : NSObject 
{
    NSInteger integer;
    BOOL      boolean;
}
@property (nonatomic, assign) integer;
@property (nonatomic, assign) boolean;
@end
Run Code Online (Sandbox Code Playgroud)

一个匹配的实现,然后你可以自由地将Pair对象粘贴到NSArray问题中.

  • @Martin,绝对正确.但OP似乎表明他想要一对特定的一对.用`id`替换这里的两个属性可以完成工作. (4认同)

小智 7

您可以在Objective-C++中使用STL.您需要做的就是将.m文件的扩展名更改为.mm,我还建议您使用#import而不是#include.这样你就可以使用你的STL容器了.