[预期愿景]访问器

主要观点

  • 语言指导小组征集关于 Swift 中访问器的前瞻性愿景的反馈,愿景文档描述 Swift 的总体方向,具体细节不如总体方向重要。
  • 介绍了 Swift 中属性和下标可通过提供获取或更新值的“访问器”来实现,当前的getset访问器在处理某些操作时存在问题,如复制值导致性能和内存开销等。
  • 探讨了多种历史上探索的访问器,此愿景文档为未来几年的访问器设计空间奠定基础,解释了 Swift 的基本访问模型及可能的演进。
  • 多位开发者对该愿景提出了不同看法和建议,包括对库演化、ABI 兼容性、异步、KeyPath扩展、访问器命名、不同访问器的作用及相互关系等方面的讨论。

关键信息

  • 提供了具体的代码示例来说明getset访问器的使用及存在的问题。
  • 提及了如borrowmutating setnonmutating set等不同类型的访问器及其在不同情况下的限制和影响。
  • 讨论了willSetdidSet与其他访问器的关系及调用时机。
  • 强调了源兼容性和存储/计算属性灵活性之间的平衡,以及编译器在处理不同访问器时的工作。

重要细节

  • 介绍了在不同场景下(通过协议要求、类的非final成员、不同库等)访问器抽象的必要性及现有问题。
  • 列举了多位开发者的具体观点和建议,如jrose提出的关于库演化和 ABI 兼容性的担忧,KarlasyncthrowsKeyPath扩展的看法,OneSadCookie对当前访问器设计的复杂性和潜在损害的分析等。
  • 详细讨论了不同访问器之间的组合、相互作用以及在协议中的应用等方面的问题。
阅读 7
0 条评论