我在tableViewCellController.h中声明了三个UITextView属性。我将它们链接到故事板并将我的原型单元类分配给我的tableViewCellController。
@interface RankingsTableViewCell : UITableViewCell
@property (nonatomic, strong) IBOutlet UITextView *playerRank;
@property (nonatomic, strong) IBOutlet UITextView *playerName;
@property (nonatomic, strong) IBOutlet UITextView *playerPoints;
@end
当我尝试让它们在tableViewController.m中显示文本时,我无法访问这些UITextView属性。我在
中这样做- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
我已经在tableViewController.m中导入了tableViewCellController.h
提前谢谢。
答案 0 :(得分:0)
你应该做的是在viewDidLoad方法中注册你的NIB并在cellForRowAtIndexPath中使用它。像这样:
在viewDidLoad中:
NSString *myIdentifier = @"itemCellIdentifier";
[self.tableView registerNib:[UINib nibWithNibName:@"itemCellNibName" bundle:nil] forCellReuseIdentifier:myIdentifier];
应该从UITableViewCell属性中的IB设置小区标识符:
同样在IB中,此UITableViewCell的类名应设置为RankingsTableViewCell。如下所示(用SwipeableCell替换):
然后在cellForRowAtIndexPath
中-(RankingsTableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
static NSString *myIdentifier = @"itemCellIdentifier";
RankingsTableViewCell *cell = (itemCell *)[tableView dequeueReusableCellWithIdentifier:myIdentifier];
cell.playerRank.text = @"rank"; //accessing properties
return cell;
}
就是这样。 我没有运行这个特定的代码片段,图像是从Google收集的。但这应该可以完成你的工作。