我想實現一個objectve-C代表團到我迅速類,但我不斷收到斯威夫特
Type 'ViewController' does not conform to protocol
這是我的Objective-C類
#import <Foundation/Foundation.h>
#import <CoreBluetooth/CoreBluetooth.h>
@protocol BT_BLE_LibDelegate;
@interface BT_BLE_Lib : NSObject< CBCentralManagerDelegate>
{
NSObject<BT_BLE_LibDelegate> __weak *delegate;
NSError *BTError;
int BLEMode;
}
@property (nonatomic, weak) id<BT_BLE_LibDelegate> __weak delegate;
- (void) UARTSend:(NSString*)message; // UART 送到藍芽
- (int) iBeaconStartScan; // 找 iBeacon
- (int) iBeaconStopScan; // 停止 iBeacon
- (int) ConnectBlueTooth; // 連接藍芽
- (int) BlueToothConnectStatus; // 藍芽連接情況
- (void) DigitalOuts:(NSString*)sender; // 藍芽接腳數位輸出
- (void) DigitalInput; // 藍芽接腳數位輸入
@end
@protocol BT_BLE_LibDelegate
- (void) BlueToothStatus:(NSString*)errorMsg; // 取的HW 藍牙的連接情況
- (void) DidReceiveData:(NSString*)message; // 收到資料
- (void) DidReadHardwareRevisionString:(NSString*)Msg; // 硬體相關的訊息
- (void) DigitalInputPinsChanges:(NSString*)Msg; // 數位輸入的情況改變
- (void) DidReceiveiBeacon:(NSString*)Name RSSI:(NSNumber *)RSSI Action:(NSString*)Action; // iBeacon 的情況
@end
這是我的雨燕類
import UIKit
class ViewController: UIViewController , BT_BLE_LibDelegate{
var myObj : BT_BLE_Lib?
override func viewDidLoad() {
super.viewDidLoad()
myObj = BT_BLE_Lib()
myObj?.delegate = self
}
func DidReceiveData(message: NSString?) {
}
func BlueToothStatus(errorMsg: NSString?) {
}// 取的HW 藍牙的連接情況
func DidReadHardwareRevisionString(Msg: NSString?) {
}// 硬體相關的訊息
func DigitalInputPinsChanges(Msg: NSString?) {
}// 數位輸入的情況改變
func DidReceiveiBeacon(Name: NSString?, RSSI: Int, Action: NSString?) {
}
注:我試過的參數的名稱或添加之前添加_ - >功能後無效,但相同的結果
請[編輯]你的問題,替換實際的複製圖像並粘貼代碼。 – rmaddy
ok .. done ...... –
你已經聲明你的Swift函數是接受一個可選的,但你沒有設置他在目標C端的可空性 – Paulw11