Swift-使用扩展名对变量/属性进行分组

Swift-使用扩展名对变量/属性进行分组,swift,grouping,Swift,Grouping,假设我有一个这样的结构 struct MyStruct { var a1: Int // This property is for feature A var a2: Int // This property is for feature A var a3: Int // This property is for feature A var b1: Int // This property is for feature B var b2: Int // This proper

假设我有一个这样的结构

struct MyStruct {
  var a1: Int // This property is for feature A
  var a2: Int // This property is for feature A
  var a3: Int // This property is for feature A
  var b1: Int // This property is for feature B
  var b2: Int // This property is for feature B
}
我想知道是否有任何技术可以为
MyStruct
创建扩展,以便将a1、a2、a3放入一个组(即
aFeatures
),并将b1、b2放入另一个组(
bFeatures
)无需更改
MyStruct
的原始实现,即可访问如下属性:

let obj = MyStruct()
let a1 = obj.aFeatures.a1 
let b1 = obj.bFeatures.b1
提前谢谢


背景故事:MyStruct是在我的应用程序中使用的通用数据模型;但是,对于每个功能/模块(A或B),我只需要使用与该功能相关的某些属性,因此我希望对属性进行分组,以使逻辑更清晰

您可以创建
(Int,Int,Int)
类型的计算属性
特征
类型的
特征
(Int,Int)

然后,您可以从
a功能
b功能

let obj = MyStruct()
let a1 = obj.aFeatures.a1
let b1 = obj.bFeatures.b1

为什么不使用不同的结构、基于协议的解决方案或类型擦除的包装器呢?这是已经存在很长时间的遗留代码,我们只希望为我的案例提供一个简单的解决方案
let obj = MyStruct()
let a1 = obj.aFeatures.a1
let b1 = obj.bFeatures.b1