Ошибка параметра метода заголовка моста - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь научиться использовать Bridging Headers в этом тестовом проекте. Для этой части я хочу иметь метод, который принимает и возвращает массив CGPoint.

    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
    #import <CoreGraphics/CoreGraphics.h>

    @interface OpenCVWrapper : NSObject

    + (UIImage *)grayscaleImage:(UIImage *)image;
    + (UIImage *)gaussianBlurImage:(UIImage *)image;
    + (UIImage *)cannyEdgeImage:(UIImage *)image;

    //Error says Expected a type
    + ([CGPoint *])lineEdges:([CGPoint *])points;

    @end

Поскольку я новичок в этом, я не знаю, где даже начать искать проблему.

1 Ответ

0 голосов
/ 11 ноября 2018

Поскольку вам нужно вернуть массив CGPoint, ваш массив должен содержать тип NSValue, поскольку массив не может содержать тип структуры

+ (NSArray<NSValue *> *)lineEdges:(NSArray<NSValue *> *)points;

и вы должны вызывать свой метод как

NSArray *lineEdges = [OpenCVWrapper lineEdges:@[[NSValue valueWithCGPoint:CGPointMake(3.3, 4.4)]]];

Возвращаемое значение также должно быть в NSValue и извлекать

NSValue *val = [lineEdges objectAtIndex:0];
CGPoint p = [val CGPointValue];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...