gpt4 book ai didi

ios - 无法在 cellForRowAtIndexPath 上访问我的自定义单元格的 IBOutlets

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:18:04 25 4
gpt4 key购买 nike

我用 XIB 制作了一个自定义单元格:.h

#import <UIKit/UIKit.h>

@interface TWCustomCell : UITableViewCell {
IBOutlet UILabel *nick;
IBOutlet UITextView *tweetText;
}

@end

.m

#import "TWCustomCell.h"

@implementation TWCustomCell

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];

// Configure the view for the selected state
}

@end

然后我以这种方式将它们加载到 cellForRowAtIndexPath: 中:

- (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";
TWCustomCell *cell = (TWCustomCell*)[self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
//UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *topLevelObject = [[NSBundle mainBundle] loadNibNamed:@"TWCustomCell" owner:nil options:nil];

for (id currentObject in topLevelObject) {
if([currentObject isKindOfClass:[UITableViewCell class]]) {
cell = (TWCustomCell*) currentObject;
break;
}
}
}
// Configure the cell...
cell.tweetText.text = [tweets objectAtIndex:indexPath.row];
return cell;
}

cell.tweetText.text = [tweets objectAtIndex:indexPath.row];cell 之后的点上,Xcode 告诉我_“在类型为‘TWCustomCell *’的对象上找不到属性‘tweetText’;您是要访问 ivar ‘tweetText’吗?”并告诉我用cell->tweetText.text。但出现错误:“语义问题:实例变量‘tweetText’ protected ”。我必须做什么?

最佳答案

您没有使用点语法声明允许在类外部访问 IBOutlets 的属性。

这是我的做法:

在你的 .h 文件中:

@property (nonatomic, readonly) UILabel *nick;
@property (nonatomic, readonly) UITextView *tweetText;

在 .m 中:

@synthesize nick, tweetText;

或者您可以删除 ivar IBOutlets 并将属性声明为 retain 和 IBOutlets,如下所示:

@property (nonatomic, retain) IBOutlet UILabel *nick;
@property (nonatomic, retain) IBOutlet UITextView *tweetText;

关于ios - 无法在 cellForRowAtIndexPath 上访问我的自定义单元格的 IBOutlets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com