Как заставить класс Objective-C соответствовать протоколу, определенному в Swift? - PullRequest
0 голосов
/ 05 июня 2018

У меня есть класс, написанный на Swift, где я определил протокол:

protocol PhotoIngestionDelegate {
    func pictureTaken()
}

Я пытаюсь, чтобы класс (CameraViewController), написанный на Objective-C, соответствовал этому протоколу.

CameraViewController.h:

#import <GSSDK/GSSDK.h>

@protocol PhotoIngestionDelegate;

@interface CameraViewController : GSKCameraViewController <PhotoIngestionDelegate>

@end

CameraViewController.m:

#import "CameraViewController.h"

#import <GSSDK/GSSDK.h>
#import "EditFrameViewController.h"
#import "Scan.h"


@interface CameraViewController<PhotoIngestionDelegate> ()

@property (nonatomic, strong) UIView *toolbar;
@property (nonatomic, strong) UIButton *cameraButton;

@end

@implementation CameraViewController

...

Реализация в CameraViewController.m продолжается, но я обрезал ее, чтобы сделать ее краткой.Я знаю, что мне нужно определить функцию pictureTaken () в CameraViewController.m, но я не могу заставить работать делегатское соединение.В CameraViewController.h я получаю, что это Cannot find protocol definition for 'PhotoIngestionDelegate'.

1 Ответ

0 голосов
/ 05 июня 2018

Попробуйте это

@objc protocol PhotoIngestionDelegate {

}
...