swift [尝试! swift継承&abstractメソッド](https://www.facebook.com/set.minami/posts/1097691270277030)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift [尝试! swift継承&abstractメソッド](https://www.facebook.com/set.minami/posts/1097691270277030)相关的知识,希望对你有一定的参考价值。

class aCustomButton01: CustomBaseButton {
  override func action() -> Bool {
  // Memo: Concrete Implementations 
    debugPrint("ConcreteClass Implements 01 DONE!!")
    return true
  }
}
class CallerClass: UIView {
  // ...initやらdeinitやら...
  // Memo: View上にある全ボタンがsenderとして飛んで
  @IBAction func actionSwitcher(sender: CustomBaseButton) {
    if sender.action() {
       debugPrint("Impl OK!!")
    } else {
       debugPrint("No Impl!!")
    }
  }
  // ...
}
// 具象実装ありボタンをタップした
> ConcreteClass Implements 01 DONE!!
> "Impl OK!!"
// まだ具象実装のないボタンをタップした
> "AbstractClass Implements DONE!!"
> "No Impl!!"
// まだ具象実装のないボタンをタップした
> "AbstractClass Implements DONE!!"
> "No Impl!!"
// 具象実装ありボタンをタップした
> ConcreteClass Implements 02 DONE!!
> Imple OK!!
@objc protocol TheLawOfBaseBtn {
    // ...
    func action() -> Bool
    // ...
}

class CustomBaseButton: UIButton, TheLawOfBaseBtn {
  // ...initやらdeinitやら...
  // Memo: as abstract Method
  func action() -> Bool {
    debugPrint("AbstractClass Implements DONE!!")
    return false
  }
}

以上是关于swift [尝试! swift継承&abstractメソッド](https://www.facebook.com/set.minami/posts/1097691270277030)的主要内容,如果未能解决你的问题,请参考以下文章

Swift & Firebase - 无法转换类型“__NSDictionaryM”的值

Swift字典到数组以填充pickerView

Swift - 转换为绝对值

如何使用 Parse & Swift 存储帖子的评论?

swift Swift:[Equatable]?の比较ref:https://qiita.com/hikarin522/items/1fed2d7ab727cd470d0a

CIColorControls & UISlider w/Swift 4 [重复]