gpt4 book ai didi

ios - 在 cellForRowAtIndexPath 方法中设置自定义单元格的正确方法?

转载 作者:行者123 更新时间:2023-11-29 03:18:56 26 4
gpt4 key购买 nike

伙计,很烦人的是,我必须不断引用我的旧 xcode 项目来找出如何在我的 cellForRowAtIndexPath 委托(delegate)方法中设置自定义单元格,只是因为我已经使用了很多方法看到了。

cellForRowAtIndexPath 方法中不使用 Storyboard设置自定义单元格的正确代码是什么?

我目前正在做这样的事情:

//This works for me btw
static NSString *simpleTableIdentifier = @"customcell";
CustomTableViewCell *customCell = (CustomTableViewCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (customCell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomTableViewCell" owner:self options:nil];
customCell = [nib objectAtIndex:0];
}

然后我看到其他人使用 loadWithNibName 以及其他人使用 registerWithNib 方法在 viewDidLoad 方法中注册其 Nib 。

在委托(delegate)方法中设置自定义单元格的正确方法到底是什么?

最近我还被告知,在处理自定义单元格时,不需要调用 dequeueReusable.. 方法。有人可以为我澄清一下设置 cellForRowAtIndexPath 委托(delegate)方法的正确方法吗?不使用 Storyboard。我已使用其各自的 .m.h 文件正确设置了自定义单元格 View 。

最佳答案

如果 CustomTableViewCell nib 文件存在于同一个 UITableViewController nib 中,您的代码将正常工作。否则你需要在 cellForRowAtIndexPath 中加载 nib 文件:

if(cell==nil){
NSArray * nibContents = [[NSBundle mainBundle] loadNibNamed:"CustomTableViewCell" owner:self options:NULL];

NSEnumerator * nibEnumerator = [nibContents objectEnumerator];
NSObject * nibItem = nil;

while ((nibItem = [nibEnumerator nextObject]) != nil) {

if ([nibItem isKindOfClass:[UITableViewCell class]]) {
cell=(CustomTableViewCell*)nibItem;
}

}

}

关于ios - 在 cellForRowAtIndexPath 方法中设置自定义单元格的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21358547/

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