【发布时间】:2017-10-10 20:29:23
【问题描述】:
我现在有
vector<vector<cv::Point>> example;
并且希望能够将它传递给一个 swift 函数,所以我认为我应该从这样开始(或者有更简单的方法吗?):
NSArray[NSArray[Int,Int]]
cv::Point 是两个 int 属性的对象。
我试过了
NSMutableArray *example1[example.size()];
for(i = 0;i< example.size();i++){
if(example[i].size() > 5){ //irrelevant
NSMutableArray *second[example[i].size()];
for(int p = 0;p<example[i].size();p++){
NSInteger p1 = example[i][p].x;
NSInteger p2 = example[i][p].y;
NSInteger point[2] = {p1,p2};
[second addObject: point];
}
[example addObject: second];
}
}
我已经花费了很长时间,并且不断收到不同的数据类型错误等。你会怎么做,或者更正这个?
谢谢
【问题讨论】:
-
如果数组足够大,NSArray 不是一个好主意,因为它很慢。在objective-c 中,您可以使用本机
c语言。没想到吧? -
是的 - 但我需要返回一个 Swift 函数,所以我假设 Objective-c 可以成为 C++ 和 Swift 之间的链接。
-
我相信这是您问题的答案:stackoverflow.com/a/36949117/6846532
-
检查这两个解决方案,它们可能会对您有所帮助:stackoverflow.com/questions/10201953/… 和 stackoverflow.com/questions/10201953/…
标签: c++ ios objective-c arrays swift