ios – 使用XIB自定义UITableViewCell

我环顾四周,有很多关于如何做到这一点的例子,但我仍然没有得到它.

我有一个列表,我列出了日记条目,我想要显示标题,创建日期和其他一些东西.我想使用XIB来设计一个单元格,因此UX设计师可以修改它并按像素推动它.

所以,这就是我设置xib的方式:

然后我做了一个这个xib单元指向的类,我添加了两个属性:

@property (atomic,weak) IBOutlet UILabel* titleLabel;
@property (atomic,weak) IBOutlet UILabel* dateLabel;

我希望能够在创建这些单元格时设置它们.

在具有列表表的视图中,我执行此操作:
在 – (void)viewDidLoad中

[self.tableView registerNib:[UINib nibWithNibName:@"DreamListTableViewCell" bundle:nil] forCellReuseIdentifier:@"DreamListCell"];

在 – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath我这样做:

static NSString *MyIdentifier = @"DreamListCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier forIndexPath:indexPath];

问题是,如果我在单元格xib中设置IBOutlets,应用程序崩溃,因为我认为所有者在初始化时确实是零,但我实际上不确定.如果我无法在界面构建器中连接它们,我怎么能修改这两个属性?我该怎么办?

另外,我没有使用故事板.我用它作为指南:Chapter 21. Table Views and Collection Views

我为一些重复的问题道歉,我只是没有得到它. HALP!

编辑:
插座截图:

编辑#2:
如果我删除单元格xib中的插座连接,我会看到:

解决方法

不要使用文件所有者来设置与IBOutlets的关系.更改单元格的类并使用它(在某些Xcode版本上建立连接可能很棘手,但是可行).

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...