使用XIB自定义UITableViewCell

Spa*_*ear 8 objective-c interface-builder uitableview ios

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

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

所以,这就是我设置xib的方式: 在此输入图像描述

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

@property (atomic, weak) IBOutlet UILabel* titleLabel;
@property (atomic, weak) IBOutlet UILabel* dateLabel;
Run Code Online (Sandbox Code Playgroud)

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

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

[self.tableView registerNib:[UINib nibWithNibName:@"DreamListTableViewCell" bundle:nil] forCellReuseIdentifier:@"DreamListCell"];
Run Code Online (Sandbox Code Playgroud)

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

static NSString *MyIdentifier = @"DreamListCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier forIndexPath:indexPath];
Run Code Online (Sandbox Code Playgroud)

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

另外,我没有使用故事板.我使用它作为指南:第21章表视图和集合视图

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

编辑:插座截图: 在此输入图像描述

编辑#2:如果我删除单元格xib中的插座连接,我会看到: 在此输入图像描述

And*_*tis 7

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