swift - 如何用几个相关的 CGPoint 数组构造 Swift 代码

标签 swift class struct swift3

如果这听起来很微不足道,请原谅我。我正在尝试找到一种组织代码的方法,无论是创建新类还是某种数据结构。我有几个 CGPoints,

var arrayOfPoints = [P1, P2, P3, P4, P5,..,P30]

当随机选择一个点时,它可以根据复杂度值 compVal 移动到其他多个点。 例如,如果 compVal = 1,P1 可以移动到 [P2, P5],如果 compVal = 2,P1 可以移动到 [P3, P4, P6] 等等,直到 compVal = 15,这适用于所有其他 P 到 P30 .我怎样才能以一种有序和高效的方式构建这个功能,同时记住我可能需要偶尔过滤掉一些职位?

最佳答案

根据我对这个问题的解释,它听起来像:

  • 你有一个对象列表
  • 每个对象都有一个初始的CGPoint,并且有办法将一个Int (compVal)映射到一个新的数组[CGPoint].

基于此,您可以拥有如下结构:

struct MyPoint {
    var location: CGPoint
    var mappings: [Int: [CGPoint]]

    mutable func move(compVal: Int) {
        if let possiblePoints = mappings[compVal] {
            // possiblePoints is your [CGPoint] array.
            // Set `location` to one of them depending on your logic.
        }
    }
}

然后您可以将 var arrayOfPoints 创建为 [MyPoint]

关于swift - 如何用几个相关的 CGPoint 数组构造 Swift 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41962087/

相关文章:

ios - Swift - 通过 switch 语句对 CAGradientLayer 进行动画处理

ios - 在我的 ScrollView 上显示 View

ios - 是否可以同时在多个模拟器设备上进行 iOS XCUITesting?

python - 为什么我会收到 TypeError?

performance - 为什么通过引用传递结构不是常见的优化?

c# - 要构造的字节数组

ios - 如何在 swift 和 sprite 工具包中使用 sprite 表?

java - GUI 编程并从另一个类中调用一个类

c - 范围前向声明

c++ - 使代码更小以实现多重继承