在为我分配自定义类

时间:2016-07-19 01:14:18

标签: ios swift swift2 xcode7.3

我有一个快速的应用程序,到目前为止只有一个视图('主视图')。我想添加一个设置页面,所以我添加了UITableViewController并在主视图上创建了一个按钮,将此设置视图打开为弹出窗口。到现在为止还挺好。然后我想为第二个视图添加自定义代码,因此我创建了一个名为settingsViewController的可可触摸类,它继承自UITableViewController,并将其指定为自定义类'用于设置视图。现在设置视图中没有任何内容显示,我也不知道为什么?!

如果我删除了设置视图的自定义类规范,则所有内容都会重新开始显示。

这里的问题是什么?

我使用的是Swift 2.2和Xcode 7.3.1

当'定制课程'设置视图的字段为空:

enter image description here

当'定制课程'设置视图的字段中提到了settingsViewController

enter image description here

编辑:

这是我settingsViewController课程的全部内容:

import UIKit

class settingsViewController: UITableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 0
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 0
    }
}

1 个答案:

答案 0 :(得分:0)

您需要通过委托方法传递每个部分中的部分和行的总数。

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 0   // This shouldn't be zero
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 0   // This shouldn't be zero
}

这些是数据源方法。您应该将它们分配给特定的数据源。

示例:

// This is the dataSource for now as an example
var dataList = [1,2,3,4,5,6,7]

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1    // We have a 1D array here only
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return dataList.count   // Total no. of items in the array.
}

并且,这就是如何设置每个部分中的部分和行数作为示例。通过将它们设置为ZERO,它们很可能是一个空的部分和单元格。

  

尝试将它们放在ZERO以外的其他位置并自行查看。

亲切的问候,
Suman Adhikari