swiftの{get set}
実は
どう使えばいいか、あまり把握してなかったので、protocol定義するとき両方書いてた
getのみにする場合
こんな感じで取得するようにすればいいらしい。
protocol SparkTrajectory { /// Stores all points that defines a trajectory. var points: [CGPoint] { get set } /// A path representing trajectory. var path: UIBezierPath { get } } extension SparkTrajectory { ... var path: UIBezierPath { guard self.points.count == 3 else { fatalError("3 points required.") } let path = UIBezierPath() path.move(to: self.points[0]) path.addQuadCurve(to: self.points[2], controlPoint: self.points[1]) return path } }
どこかのgithubのソースから持ってきた。 これで少しまた利口になりました。