Swiftでアクセスコントロールが追加された

Access Control - Swift Blog - Apple Developer

public class ListItem {

    // Public properties.
    public var text: String
    public var isComplete: Bool

    // Readable throughout the module, but only writeable from within this file.
    private(set) var UUID: NSUUID

    public init(text: String, completed: Bool, UUID: NSUUID) {
        self.text = text
        self.isComplete = completed
        self.UUID = UUID
    }

    // Usable within the framework target, but not by other targets.
    func refreshIdentity() {
        self.UUID = NSUUID()
    }

    public override func isEqual(object: AnyObject?) -> Bool {
        if let item = object as? ListItem {
            return self.UUID == item.UUID
        }
        return false
    }
}

一瞬みたらActionScript3.0かと思ったよ。

Swiftいいね。

他にも気になる仕様があるので、それもご紹介

プロパティの監視

class SmapleClass {
    var counter: Int {
        willSet {
            println("willSet")
            println("old counter =\(newValue)") //newValueはセット予定の値
            println("current counter = \(counter)") //counter 前の値(まだ書き換わらない)
        }
        didSet {
            println("didSet")
            println("old counter = \(oldValue)") //oldValueはセット前の値
            println("current counter = \(counter)") //後の値(書き換わった)
        }
    }
    init(counter: Int) {
        // 初期化時は呼ばれない
       self.counter = 0
    }
}

syntaxの色付けがswiftがまだ対応されてないみたいなので、as3に似てるからactionscriptのsyntaxで指定してみたw