在Swift中自定义Collection(和其他内置类型)的描述

时间:2019-05-14 07:37:27

标签: swift string collections

我正在尝试自定义description类型(例如Collection)的Array,特别是当Iterator.Element是某种特定类型时。 但是,我不确定该怎么做,因为一旦尝试按照Collection协议扩展CustomStringConvertible,编译器就会抱怨Collection不能继承子句(如果我未声明CustomStringConvertible符合性,则description的实现似乎会被忽略)。 是否可以为description类型自定义Collection

// Attempt 1
extension Collection: CustomStringConvertible where Iterator.Element == MyType {
  var description: String {
    // this produces a compile error
    return "something"
  }
}

// Attempt 2
extension Collection where Iterator.Element == MyType {
  var description: String {
    // this is ignored
    return "something"
  }
}

更一般而言,是否可以为内置类型自定义description

extension Double: CustomStringConvertible {
  var description: String { return "hi" }
  // this is also ignored + warning by compiler
}

0 个答案:

没有答案