这是我的objc接口:
@interface MobileKeysController : NSObject <MobileKeysManagerDelegate>
- (id) initWithLogger:(Loggable *)logger; //issue: Expected a type
- (void) didPressRegistrationButton:(NSString *)code;
@end
我还有一个私人界面:
@interface MobileKeysController ()
@property(nonatomic) Loggable *logger;
@end
和自定义初始化:
- (id)initWithLogger: (Loggable *) logger_ {
self = [super init];
// how can I assign it here from an init?
return self;
}
这是我的Swift定义:
protocol Loggable: class {
func log(_ category: FirebaseCategory, _ type: FirebaseEventType, _ dataProvider: FirebaseEventDataProvider)
}
@objc class FirebaseLogger: NSObject, Loggable {
// MARK: - Loggable
func log(_ category: FirebaseCategory, _ type: FirebaseEventType, _ dataProvider: FirebaseEventDataProvider) {
log(category.rawValue, type.value, dataProvider.parameters)
}
}
我需要像这样使用Swift文件:
let logger = FirebaseLogger()
return MobileKeysController(logger: logger)