将两个 类 分配给同一个变量,这可能吗?
Assigning two classes to the same variable, is that even possible?
我有两个 类 属于同一个协议。
class CameraModel:CaptureProtocol {
}
class ScannerModel:CaptureProtocol {
}
在应用程序的某一时刻,我想在一个变量上加载一个或另一个
var model = preferences.digitizer == .camera ? cameraModel : scannerModel
有没有办法做到这一点,甚至使用 if
?
定义协议数据类型
var model: CaptureProtocol = preferences.digitizer == .camera ? cameraModel : scannerModel
或使用计算 属性
var model: CaptureProtocol { preferences.digitizer == .camera ? cameraModel : scannerModel }
注意:您只能从模型变量访问协议属性。
我有两个 类 属于同一个协议。
class CameraModel:CaptureProtocol {
}
class ScannerModel:CaptureProtocol {
}
在应用程序的某一时刻,我想在一个变量上加载一个或另一个
var model = preferences.digitizer == .camera ? cameraModel : scannerModel
有没有办法做到这一点,甚至使用 if
?
定义协议数据类型
var model: CaptureProtocol = preferences.digitizer == .camera ? cameraModel : scannerModel
或使用计算 属性
var model: CaptureProtocol { preferences.digitizer == .camera ? cameraModel : scannerModel }
注意:您只能从模型变量访问协议属性。