Why do delegate methods need to be public in Swift?(为什么委托方法在SWIFT中需要是公共的?)
问题描述
我正在使用SWIFT开发一个框架。我正在创建一个在框架中处理BLE内容的类。这个类应该是公共的,因为我需要从使用我的框架的外部应用程序访问这个类。我的类结构如下:
public class MyClass: NSObject, CBCentralManagerDelegate {
}
此处MyClass
为公有,确认为公有协议CBCentralManagerDelegate
。编译器强制我将其委托方法声明为public。下面是我的实现:
public class MyClass: NSObject, CBCentralManagerDelegate {
public func centralManager(central: CBCentralManager, didConnectPeripheral peripheral: CBPeripheral) {
}
// I don't want delegate methods to be public, delegate methods should be like:
//func centralManager(central: CBCentralManager, didConnectPeripheral peripheral: CBPeripheral) {
/