[swift 進階]讀書筆記-第七章:字串 C7P7 CustomStringConvertible 和 CustomDebugStringConverti

liaoWorking在掘金發表於2019-03-02

字串

7.7 CustomStringConvertible 和 CustomDebugStringConvertible

本小節內容基本簡單,就是講了上面這兩個簡單協議的用法

這兩個協議主要就是類似於Objective-C中的重寫description方法

繼承協議 實現descriptiondebugDescription 屬性 即可列印出想要的資料內容

具體使用見下Demo

  struct Person:CustomStringConvertible,CustomDebugStringConvertible {
    var age: Int
    var name: String
    var job: String

    var description: String {
        return "\(age) \(name) \(job)"
    }

    var debugDescription: String {
        return "\(name) \(age) \(job)"
    }
  }

  let meetings = Person(age: 18, name: "liaoWorking", job: "iOSDeveloper")
  print(meetings)
  /**
   *  "24 liaoWorking iOSDeveloper\n"
   */
  debugPrint(meetings)
  /**
   *  "liaoWorking 24 iOSDeveloper\n"
   */
複製程式碼
知識點1: 書中建議任何稍微複雜一些的型別都應該實現 CustomStringConvertible協議

文章原始檔地址,大家如果有更好的想法和觀點歡迎交流

相關文章