Getter vs Computed property。 什么能保证使用这些方法之一而不是另一种?

看看这个变量

var username: String { get { return self.twitterAccount.valueForKey("username") as! String } } 

当我删除get时,编译器不会抱怨,大概是因为它被简单地视为计算属性。

 var username: String { return self.twitterAccount.valueForKey("username") as! String } 

什么能保证使用这些方法之一而不是另一种?

两种forms完全相同,只读计算属性。

从文档:

您可以通过删除get关键字及其大括号来简化只读计算属性的声明。

如果你只有一个吸气剂,你可以做这个简化。 但是,如果你还有一个setter,你必须使用以前的版本才能将它们分开。