在 Swift 中初始化 Parse.com Table 视图控制器

Initializing Parse.com Table View Controller in Swift

我最近开始使用 Parse.com 和 swift,我正在尝试创建一个简单的应用程序将数据加载到 table。在使用class PFQueryTableViewController时,我发现必须使用下面的代码:

override init!(style: UITableViewStyle, className: String!) {
    super.init(style: style, className: className)
}

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    self.parseClassName = "MyClass"
    self.pullToRefreshEnabled = true
    self.paginationEnabled = true
    self.objectsPerPage = 50
}

我的问题是为什么这个 class 的初始化必须调用两次?这些初始化完成了什么?

代码取自这个问题: PFQueryTableViewController in Swift using Cloud Code function

初始化没有调用两次;通过定义两个初始值设定项,您可以定义两种不同的方式来初始化一个对象。就像 NSNumber:

  • init(float: Float)
  • init(double: Double)
  • init(bool: Bool)
  • 还有 13 个...

您在初始化 NSNumber 实例时仅使用其中之一。


init?(coder: NSCoder) 的要求是另一个主题,在以下问题中讨论:

  • Class does not implement its superclass's required members
  • Fatal error: use of unimplemented initializer 'init(coder:)' for class