私はこのObjective-Cクラスを迅速なプロジェクトにインポートしました。 MMLANSCanner.hObjective-CクラスのinitWithDelegate
#import <Foundation/Foundation.h>
@class Device;
@protocol MMLANScannerDelegate;
@protocol MMLANScannerDelegate <NSObject>
@required
- (void)lanScanDidFinishScanningWithStatus:(MMLanScannerStatus)status;
- (void)lanScanDidFailedToScan;
@optional
- (void)lanScanProgressPinged:(float)pingedHosts from:(NSInteger)overallHosts;
@end
#pragma mark - Public methods
@interface MMLANScanner : NSObject
-(instancetype)initWithDelegate:(id <MMLANScannerDelegate>)delegate;
@property(nonatomic,weak) id<MMLANScannerDelegate> delegate;
@property(nonatomic,assign,readonly)BOOL isScanning;
- (void)start;
- (void)stop;
@end
私は正常にブリッジングヘッダを作成し、MainVC.SwiftがMMLANScannerDelegateに準拠するようにします。 次に、デリゲートself
でMMLanScannerを初期化しようとしました。
import UIKit
import Foundation
class MainVC: UIViewController, MMLANScannerDelegate {
var presenter = MMLANScanner(delegate:self)
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func lanScanDidFindNewDevice(_ device: Device!) {
}
func lanScanDidFailedToScan() {
}
func lanScanDidFinishScanning(with status: MMLanScannerStatus) {
}
func lanScanProgressPinged(_ pingedHosts: Float, from overallHosts: Int) {
}
}
しかし、私はエラーを取得する:
Argument passed to call that takes no arguments
任意のアイデア私はObjective-Cで持っていたinitWithDelegate機能を実装する方法?
あなたはなぜdownvoteを説明できますか? – BlackM