Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- print("--- Example 1 ---")
- protocol MyProtocol {
- var property: AnyObject? { get set }
- }
- protocol MyClassProtocol: class {
- var property: AnyObject? { get set }
- }
- class MyViewController: UIViewController {
- var viewModel: ClassA! {
- // var viewModel: MyProtocol! {
- // var viewModel: MyClassProtocol! {
- didSet {
- print("didSet viewModel")
- }
- }
- }
- class ClassA: MyProtocol, MyClassProtocol {
- var property: AnyObject? {
- didSet {
- print("didSet property in ClassA")
- }
- }
- }
- class ClassB {}
- let vc = MyViewController()
- vc.viewModel = ClassA()
- vc.viewModel.property = ClassB()
- print("\n--- Example 2 ---")
- class SecondViewController: UIViewController {
- var valueTypeProperty: StructA! {
- didSet {
- print("didSet valueTypeProperty")
- }
- }
- }
- struct StructA {
- var property: Int? {
- didSet {
- print("didSet property in StructA")
- }
- }
- var referenceProperty: ClassB? {
- didSet {
- print("didSet reference property in StructA")
- }
- }
- }
- let secondVC = SecondViewController()
- secondVC.valueTypeProperty = StructA()
- secondVC.valueTypeProperty.property = 42
- secondVC.valueTypeProperty.referenceProperty = ClassB()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement