繁体   English   中英

在 Swift 中创建 CGPoints 数组

[英]Create Array of CGPoints in Swift

我有循环遍历双精度数组并从双精度和数组索引创建 CGPoint 的代码。

但是,我不知道如何将生成的 CGPoints 放入数组中。 这是我的代码:

 var points = [CGPoint].self//The compiler is okay with this but I don't know what self really means. Without self it giver error 'expected member name or constructor call after type name'

    var i:Int = 0
     while i < closingprices.count {
      let mypoint = CGPoint(x: Double(i+1),y: closingprices[i])
      // points += mypoint //This throws error:Binary operator '+=' cannot be applied to operands of type '[CGPoint].Type' and 'CG
     i+=1
    }

如何将 CGPoints 放入数组中?

有一些问题和不良做法

您正在声明类型[CGPoint].self ,一个空数组是

var points = [CGPoint]()

Swift 中更好的方法是 for循环

for i in 0..<closingprices.count { points.append(CGPoint(x: Double(i+1),y: closingprices[i])) }

或(首选) 快速枚举

for (index, price) in closingprices.enumerated() {
   points.append(CGPoint(x: Double(index+1),y: price)) 
}

请阅读 Swift 语言指南,值得。

更好的方法是在此处使用Enumeratedmap

let points = closingprices.enumerated().map { CGPoint(x: Double($0 + 1), y: $1) }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM