今日から俺は

都内で働くエンジニア。調べて学んだことを蓄積していきます。

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のソースから持ってきた。 これで少しまた利口になりました。