我有一个UIViewController,里面有一个UITableView,我使用界面(拖放标签和UITextViews)在我的表中绘制项目,我的表有25行。
现在是时候将我的标签链接到IBOutlets了,我创建了一个TableViewCell的子类,如下所示:
TableViewCell.h
@property (nonatomic, retain) IBOutlet UILabel *label1;
TableViewCell.m
@synthesize label1 = _label1;
我使用此代码更改我的第一个标签:
- (UITableViewCell *)tableView:(UITableView *)tableView2 cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *CellIdentifier = [menuItems objectAtIndex:indexPath.row];
HobbiesTableViewCell *cell = [tableView2 dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[HobbiesTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.label1.text = @"GG";
return cell;
}
但是我看到了一个小问题,当我打开我的View(在模拟器中)打开太慢时(我认为我的表正在加载),为了尝试解决这个问题,我删除了我的属性nonatomic
我的视图开得更快。
但是我有一个问题,当我创建属性时,我总是把命令nonatomic
,并且在这个项目中我不得不把它取下来因为速度慢,有一个问题要取消nonatomic
在这个属性?(因为标签永远不会改变!)
答案 0 :(得分:1)
你应该让label1
弱,就像在故事板中一样。你也不再需要@synthesize
了。
此外,如果您使用不同的标识符出列,那么您实际上并没有出列。原型单元应该在storyboard中有一个标识符。
NSString *CellIdentifier = @"MyCellID"
HobbiesTableViewCell *cell = [tableView2 dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
Nonatomic应该会提高性能,并且不会导致您的问题。
答案 1 :(得分:1)
根据您列出的内容,我宁愿责怪不是表格视图,而是责备。menuItems
。它的内容是来自互联网还是文件?如果是,我想问题是您在主线程上执行远程数据源的访问
UPD: 经过与PO的简短谈话后,很明显问题是因为有25个单元具有不同的重用ID。