我的项目中有一个名为 doWorkOnSampleBuffer 的函数,它返回一个CGPoint值。
- (CGPoint)doWorkOnSampleBuffer:(CMSampleBufferRef)sampleBuffer inRects:(NSArray<NSValue *> *)rects {
CGPoint mypoint[2];
mypoint[0] = CGPointMake(-1, -1);
mypoint[1] = CGPointMake(5, 5);
return mypoint[1]
}
此函数在另一个swift文件中调用,如下所示:
var myPoint = wrapper?.doWork(on: sampleBuffer, inRects: boundsArray)
现在,我想让 doWorkOnSampleBuffer 函数返回CGPoint数组&#34; mypoint &#34;,而不只是一个CGPoint值。
那么,我如何调整我的代码呢?
答案 0 :(得分:1)
解决!
答案是:
- (NSArray<NSValue *> *)doWorkOnSampleBuffer:(CMSampleBufferRef)sampleBuffer inRects:(NSArray<NSValue *> *)rects {
CGPoint mypoint[2];
mypoint[0] = CGPointMake(-1, -1);
mypoint[1] = CGPointMake(5, 5);
NSArray *myCGPointArray = @[[NSValue valueWithCGPoint:mypoint[0]],[NSValue valueWithCGPoint:mypoint[1]]];
return myCGPointArray;
}
现在,如果您将此功能称为:
var myPoint = wrapper?.doWork(on: sampleBuffer, inRects: boundsArray)
因此您可以按如下方式访问值:
myPoint![0].cgPointValue.x
myPoint![0].cgPointValue.y
myPoint![1].cgPointValue.x
myPoint![1].cgPointValue.y