У меня есть функция в классе Swift, которую я хочу вызвать из класса Objective-C.Я объявил класс Swift как переменную экземпляра в классе Objective-C, но я не могу вызвать метод из класса Swift для этой переменной.Вот пример кода для объяснения:
PhotoViewController.swift:
@objc class PhotoViewController: UIViewController {
// other methods and variables
postViewController = // defined
postViewController.ingestViewController = self
@objc public func submit(image: UIImage) {
// does stuff
}
}
PostViewController.h:
@class PhotoViewController;
@interface PostViewController : UIViewController
@property (nonatomic, strong) PhotoViewController *ingestViewController;
@end
PostViewController.m:
#import "MyProject-Swift.h"
@class PhotoViewController;
@interface PostViewController ()
@end
@implementation PostViewController
// other code
- (void)_done {
[self.ingestViewController submit:self.scan];
}
@end
Я продолжаю получать сообщение об ошибке: No visible @interface for 'PhotoViewController' declares the selector 'submit:'
.Я также пытался сделать PhotoViewController общедоступным, и это не решило мою проблему.