我有一个名为 UserProductViewController 的UITableView,这个表视图用于两个目的" 创建和编辑"一些数据。当用户点击"编辑按钮"打开此 UserProductViewController 编辑模式,并在其他方法的单元格中填充一些数据。我不想将所有服务器端值存储在属性中,而是使用了Lazy instantiation cell。这种方法有时会带来麻烦。要清楚这里是我的代码这种方法是否正确?你能指导我这样做的正确方法吗?
实施界面
@interface UserProductViewController()
@property(strong, nonatomic) MyCustomTableViewCell *myCustomCell;
@end
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
if(indexPath.row == 2) return self.myCustomCell;
...
}
- (MyCustomTableViewCell *)myCustomCell {
if(!_myCustomCell) {
_myCustomCell = [self.tabView dequeueReusableCellWithIdentifier:@"CustomIdentifier" forIndexPath:[self customIndexPath]];
}
return _myCustomCell;
}
- (NSIndexPath *)customIndexPath {
// 2 correspond to cellForRowAtIndexPath indexPath value.
return [NSIndexPath indexPathForRow:2 inSection:0];
}
服务器端方法我将该单元格用作以下属性:
- (void) getUserValues {
....
// getting server-side result
// completion block
self.myCustomCell.titleLabel = result.title;
}
其他问题如果我不想使用tableview dequeue系统会发生什么?