added typealias

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-09-08 16:45:14 -05:00
parent 71b020cb3f
commit 57853b6145
6 changed files with 8 additions and 5 deletions

View File

@ -8,7 +8,7 @@
import Foundation import Foundation
import UIKit import UIKit
public class SelectorGroupHandlerBase<GroupModelType: SelectorGroupModelable, ModelHandlerType: ModelHandlerable & UIControl>: Control<GroupModelType>, Changable where GroupModelType.SelectorModelType == ModelHandlerType.ModelType { public class SelectorGroupHandlerBase<GroupModelType: SelectorGroupModelable, ModelHandlerType: ModelHandlerControl>: Control<GroupModelType>, Changable where GroupModelType.SelectorModelType == ModelHandlerType.ModelType {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Public Properties // MARK: - Public Properties

View File

@ -23,7 +23,7 @@ public class CheckboxGroup: CheckboxGroupBase<DefaultCheckboxGroupModel, Checkbo
} }
} }
public class CheckboxGroupBase<GroupModelType: CheckboxGroupModel, ModelHandlerType: ModelHandlerable & UIControl>: SelectorGroupHandlerBase<GroupModelType, ModelHandlerType> where GroupModelType.SelectorModelType == ModelHandlerType.ModelType { public class CheckboxGroupBase<GroupModelType: CheckboxGroupModel, ModelHandlerType: ModelHandlerControl>: SelectorGroupHandlerBase<GroupModelType, ModelHandlerType> where GroupModelType.SelectorModelType == ModelHandlerType.ModelType {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Public Properties // MARK: - Public Properties

View File

@ -31,7 +31,7 @@ public class RadioBoxGroup: RadioBoxGroupBase<DefaultRadioBoxGroupModel, RadioBo
} }
} }
public class RadioBoxGroupBase<GroupModelType: RadioBoxGroupModel, ModelHandlerType: ModelHandlerable & UIControl>: SelectorGroupSelectedHandlerBase<GroupModelType, ModelHandlerType> where GroupModelType.SelectorModelType == ModelHandlerType.ModelType { public class RadioBoxGroupBase<GroupModelType: RadioBoxGroupModel, ModelHandlerType: ModelHandlerControl>: SelectorGroupSelectedHandlerBase<GroupModelType, ModelHandlerType> where GroupModelType.SelectorModelType == ModelHandlerType.ModelType {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Private Properties // MARK: - Private Properties

View File

@ -34,7 +34,7 @@ public class RadioButtonGroup: RadioButtonGroupBase<DefaultRadioButtonGroupModel
} }
} }
public class RadioButtonGroupBase<GroupModelType: RadioButtonGroupModel, ModelHandlerType: ModelHandlerable & UIControl>: SelectorGroupSelectedHandlerBase<GroupModelType, ModelHandlerType> where GroupModelType.SelectorModelType == ModelHandlerType.ModelType { public class RadioButtonGroupBase<GroupModelType: RadioButtonGroupModel, ModelHandlerType: ModelHandlerControl>: SelectorGroupSelectedHandlerBase<GroupModelType, ModelHandlerType> where GroupModelType.SelectorModelType == ModelHandlerType.ModelType {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Public Properties // MARK: - Public Properties

View File

@ -32,7 +32,7 @@ public class RadioSwatchGroup: RadioSwatchGroupBase<DefaultRadioSwatchGroupModel
} }
public class RadioSwatchGroupBase<GroupModelType: RadioSwatchGroupModel, ModelHandlerType: ModelHandlerable & UIControl>: Control<GroupModelType>, Changable, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, UICollectionViewDelegate where GroupModelType.SelectorModelType == ModelHandlerType.ModelType { public class RadioSwatchGroupBase<GroupModelType: RadioSwatchGroupModel, ModelHandlerType: ModelHandlerControl>: Control<GroupModelType>, Changable, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, UICollectionViewDelegate where GroupModelType.SelectorModelType == ModelHandlerType.ModelType {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Public Properties // MARK: - Public Properties

View File

@ -7,6 +7,7 @@
import Foundation import Foundation
import Combine import Combine
import UIKit
public protocol ModelHandlerable: AnyObject, Initable { public protocol ModelHandlerable: AnyObject, Initable {
associatedtype ModelType: Modelable associatedtype ModelType: Modelable
@ -41,3 +42,5 @@ extension ModelHandlerable {
.store(in: &subscribers) .store(in: &subscribers)
} }
} }
public typealias ModelHandlerControl = ModelHandlerable & UIControl