我有一个带有 UIViewController 的应用程序,其中有一个 UICollectionView IBOutlet。
UICollectionView 中的单元格是 MyCustomCell 并且有这个方法设置它的 UILabel:
-(void)setCellLabel:(NSString *)value{
NSLog(@"settinglabel");
cellLabel.text = @"hardcode"; //added for testing purposes
}
该单元格具有将其标识为情节提要中的 MyCustomCell 的属性 Class type 及其出队标识符。UIViewController 采用数据源和委托协议。IBOutlet UILabel 的 cellLabel 出口连接到情节提要。这些方法定义为:
- (void)viewDidLoad{
[super viewDidLoad];
self.restNames = @[@"Orange",@"Naranja",@"Narnia"];
[self.collectionView registerClass:[MyCustomCell class] forCellWithReuseIdentifier:@"MyCustomCellID"];
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
NSLog(@"%d",[self.restNames count]);
return [self.restNames count];
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
MyCustomCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
[cell setCellLabel:@"hi"];
NSLog(@"fitsname %@",[self.restNames objectAtIndex:indexPath.row]);
return cell;
}
我在我的表格视图中绘制了三个单元格,对应于我的数组中的 3 个对象。该数组仅包含我由 objectAtIndexPath 直接设置的字符串对象,但我决定将其直接设置为 @"hi",因为它不起作用。我什至将 setCellLabel 方法中使用的值更改为硬编码值,并且在每个单元格中只获取“标签”默认字符串。
为什么没有正确设置 cellLabel?