我环顾四周,有很多关于如何做到这一点的例子,但我仍然没有得到它.
我有一个列表,我列出了日记条目,我想要显示标题,创建日期和其他一些东西.我想使用XIB来设计一个单元格,因此UX设计师可以修改它并按像素推动它.
所以,这就是我设置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版本上建立连接可能很棘手,但是可行).