我想实现一个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