- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想从已弃用的 initWithFrame:reuseIdentifier:
更新我的 TableView。
我的表格 View 使用自定义单元格。
到处都说要使用 initWithStyle:
,并且它不会以任何方式改变 initWithFrame:CGRectZero reuseIdentifier:
的行为或单元格。
但是当我使用 initWithStyle:UITableViewCellStyleDefault reuseIdentifier:
构建时,单元格变为空白(即我们的自定义单元格不起作用(因为它是用某种样式初始化的?))。
单元格初始化后(如果它没有出队),我们在单元格上设置文本。但是当我使用 initWithStyle:reuseIdentifier:
时,这些都没有设置,但它适用于 initWithFrame:CGRectZero
。除了使用的 init 方法 (initWithStyle
) 之外,没有任何代码发生变化。
这些行在单元格创建(或重用)后放入:
cell.newsItemNameLabel.text = @"test";
NSLog(@"NewsItemName: %@",cell.newsItemNameLabel.text);
“NewsItemName: (null)”中的结果
有人有想法吗?两者之间的真正区别是什么?
谢谢
最佳答案
cellForRowAtIndexPath
的实现应类似于以下内容:
- (CustomCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CellIdentifier";
CustomCell *cell = (CustomCell *)(UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// Configure the cell.
cell.textLabel.text = NSLocalizedString(@"Detail", @"Detail");
return cell;
}
其中 CustomCell
是自定义单元格类的名称。请注意,此实现使用 ARC(自动引用计数)。如果您不碰巧使用此功能,请将 autorelease
调用添加到您的单元格分配中。
CustomCell
的 initWithStyle
实现:
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
//do things
}
return self;
}
关于iphone - initWithFrame 与 initWithStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9380710/
我想从已弃用的 initWithFrame:reuseIdentifier: 更新我的 TableView。 我的表格 View 使用自定义单元格。 到处都说要使用 initWithStyle:,并且
我正在一个项目中尝试使用这个框架 VPPDropdown 但我希望它与 storyboard 一起使用. 那我做了什么?我拖了一个UITableviewController在屏幕上。然后在我的代码中我
我有 SIGSEGV 的崩溃报告。我认为这真的不明显,因为有: 无后台 UI 操作。 没有外部 CALayer 操作。 UITableViewCell 以编程方式初始化,不使用 xib 或 Story
我在尝试在一个单元格中显示信息时遇到问题,一个在左边,一个在右边。我知道将 initWithStyle 与 UITableViewCellStyleSubtitle 一起使用。我用这个,但它似乎不起作
据我了解,似乎有三种布局自定义表格 View 单元格的方法: 在界面生成器中。 在 layoutSubviews . 在 initWithStyle:reuseIdentifier: . 第二种方法和
我创建了一个自定义 UITableViewCell,其中包含 2 个标签。一个应该有固定的宽度,而另一个应该向右扩展,只要有空间即可。 我正在创建这样的 UILabels: - (id)initWit
我最近做了一个表格单元格子类的编程分配/初始化,并且通过一些 NSLog,我能够了解到几乎所有的初始化程序都被调用了,即使我所做的只是分配/初始化,如果我记得的话正确。 初始化 初始化样式 这是什么逻
类引用说: 如果您使用标准的 init 方法来初始化 UITableViewController 对象,则会创建一个普通样式的 TableView 。 我不明白,这种行为是从哪里来的——我想在一些代码
我创建了自定义单元格,其中有 n 个 ImageView 。根据每行 ImageView 的数量,我放置了 ImageView 的大小。为此,我需要 initWithStyle: UITableVie
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPa
我的if语句中不断收到Expected Identifier - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtI
我收到错误“@LWWFirstController 的可见接口(interface)声明了选择器 initWithStyle”。我已经编写了类似的代码来设置我的导航 Controller 并且它工作正
据我所知,这在 Apple Api 中是正确的,当使用 initWithStyle 方法初始化 UITableViewController 时,它应该返回对 self.tableView 中 UITa
我是一名优秀的程序员,十分优秀!