我使用表格视图创建了一个应用程序来保存数据。表视图显示通过UserDefaults保存的数组元素。由于TableViewControllers看起来很丑陋,我做的有点不同:我将TableView放入普通的ViewController中。 我的问题是:即使我尽我所能让TableView显示数据,但它没有,我不知道为什么。谁能帮助我? 这是ViewController的代码:
public Series series1 = new Series
{
Name = "Series1",
Color = Color.Black,
IsVisibleInLegend = false,
ChartType = SeriesChartType.Line,
BorderWidth = 0,
XValueType = ChartValueType.Double,
YValueType = ChartValueType.Double
};
public StripLine startPositionLine = new StripLine
{
BorderColor = Color.Red,
BorderWidth = 2,
IntervalOffset = 7
};
public StripLine endPositionLine = new StripLine
{
BorderColor = Color.Blue,
BorderWidth = 2,
IntervalOffset = 11
};
private void Form1_Load(object sender, EventArgs e)
{
chart1.Series.Clear();
chart1.ChartAreas[0].AxisX.Minimum = 0;
chart1.ChartAreas[0].AxisX.Interval = 1;
//Apparently some series with some points have to be present on the chart before the striplines get displayed
series1.Points.AddXY(0, 0);
series1.Points.AddXY(10, 0);
chart1.Series.Add(series1);
chart1.ChartAreas[0].AxisX.StripLines.Add(startPositionLine);
chart1.ChartAreas[0].AxisX.StripLines.Add(endPositionLine);
chart1.Invalidate();
}
感谢大家一起来看看!祝你有美好的一天
答案 0 :(得分:2)
将viewDidLoad
替换为
override func viewDidLoad() {
super.viewDidLoad()
myTableView.dataSource = self
myTableView.delegate = self
data.append("test")
data.append("lol")
myTableView.reloadData()
}
并将numberOfRowsInSection
替换为
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
并删除myTableView.dataSource = self
中的cellForRow
。
如果代码崩溃,则IB中未连接myTableView
。
正如评论中所提到的,考虑使用UITableViewController
来获得具有预连接数据源和委托的表视图实例。
答案 1 :(得分:0)
您需要在viewDidLoad或类似的地方设置数据源和数据委托。
您正在cellForRowAt
内设置数据源,但永远不会调用它!