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