在这个用于表格单元的Swift Xcode 6.0.1示例中,.self用作后缀(不记得看到之前使用过的自我),以及前缀self。 (这当然是无处不在),试图了解这意味着什么。
// Register the UITableViewCell class with the tableView
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: self.cellIdentifier)
答案 0 :(得分:8)
首次使用self作为前缀是对包含当前正在调用的方法的类实例的引用。在第二种用法中,self将类型称为值,在这种情况下UITableViewCell.self
引用UITableViewCell
类型
答案 1 :(得分:3)
self
是一种返回消息接收者的方法。在这种情况下,它会返回Class
的{{1}}对象。
答案 2 :(得分:2)
我认为这是因为其他地方的类型用于键入某个变量。但SomeType.self
表示要使用此类型作为值。除非你致电.self
,否则我认为某种类型不能代表它自己。
在游乐场中尝试以下操作。
class Foo {}
Foo // ^ Compiler error: expected member name or constructor call after type name
但.self
class Foo {}
Foo.self // console reports: (Metatype)