今天在写TableView的时候,懒加载了模型数组同时覆写了setter方法,报错了

本文介绍了在Objective-C中重写属性的setter和getter方法时遇到的问题及解决办法。当开发者试图重写一个属性的setter和getter时,如果没有正确地声明实例变量,则会引发编译错误。文章详细解释了如何通过添加@synthesize指令来解决这一问题。
@Property (nonatomic,strong)Model *model;
...
- (Model *)model {
...
}
- (void)setModel {
...
} 

报错了,编译器说你没有声明这个变量 _Model。
奇怪的不行 试了很多下,一直以为是自己哪里括号弄错还是咋滴。

上网搜了一下 发现是同时重写一个属性的setter和getter
需要在实现里添加@synthesize model = _model;
OK.
现在重写你的setter和getter吧

Qt中的ListView和TableView是用于展示数据的强大组件,它们非常适合用来显示二维数组。以下是使用这两种控件在Qt中展示二维数组的一般步骤: 1. **ListView**: - 首先,你需要创建一个QListWidget作为容器。 - 定义一个模型类,比如QStandardItemModel,这是ListView的数据源。 - 对二维数组进行遍历,将每个元素转化为QStandardItem(可以包含文本、图片等)。 - 将这些item添加到模型中,设置适当的行数和列数。 - 将模型绑定到ListView上,`listView.setModel(model)`。 ```cpp QList<QStandardItem> data; for (int i = 0; i < arr.length(); i++) { QList<QStandardItem*> row; for (int j = 0; j < arr[i].length(); j++) { QStandardItem* item = new QStandardItem(QString::number(arr[i][j])); row << item; } data.append(row); } QStandardItemModel model(data); listView.setModel(&model); ``` 2. **TableView**: - 使用QTableView,同样需要一个QAbstractItemModel(如QStandardItemModel或QTableModel)作为数据源。 - 创建一个QTableModel实例,并设置列宽、标题等属性。 - 在模型的setData()函数里,处理二维数组更新。 - 设置模型TableView上。 ```cpp QTableModel* tableModel = new QStandardItemModel(nRows, nColumns); // ... for (int i = 0; i < arr.length(); i++) { for (int j = 0; j < arr[i].length(); j++) { int index = i * nColumns + j; tableModel->setItem(index, columnIndex, new QStandardItem(QString::number(arr[i][j]))); } } tableView.setModel(tableModel); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值