我喜欢保持我的代码干净,我现在有多个为自定义单元格编写的类。大多数这些单元格仅在1 UITableView
中使用。
所以我们假设我们有类CustomUITableViewController
和CustomUITableViewCell
。我正在寻找的是CustomUITableViewController
中的这些内容。
@interface CustomUITableViewController()
//stuff
@end
@interface CustomUITableViewCell : UITableViewCell
//stuff
@end
@implementation CustomUITableViewCell
//stuff
@end
@implemention CustomUITableViewController
-(UITableViewCell*)cellForRowAtIndexPath... {
CustomUITableViewCell *cell = dequeueCellFor...
return cell;
}
-(void)viewDidLoad {
[super viewDidLoad]
//this next line should be right?????
[self.tableView registerNib:nib forCellReuseIdentifier:@"CustomCell"];
}
@end
我的viewDidLoad
方法是否正确?如果我将UITableViewCell
写在一个单独的文件中,我应该像我一样写它?
我在.xib文件中放了什么?当我尝试将类更改为自定义类时,它不会与CustomUITableViewCell
链接,当然它与CustomUITableViewController
不匹配(尽管我还是试过了。)
答案 0 :(得分:0)
是
你的意思是'没有链接CustomUITableViewCell
'?只要您的nib
对象是您的自定义单元格的nib,并且在该单元格的xib中,根对象是一个UITableViewCell,其自定义类属性设置为您的CustomUITableViewCell类型,您应该很高兴。我自己也使用过这种方法,虽然我发现在单元格中放置逻辑比它的价值更痛苦。
“不符合KVC”错误通常是由这种情况中的两件事之一引起的:
1)您修改了XIB,但Xcode没有注意到更改,因此没有部署修改后的文件。当您更改XIB中的单元标识符时,通常会发生这种情况。从模拟器/设备中删除您的应用程序,然后再次尝试运行。
2)你曾经在IB的自定义类中声明了属性(或者可能是视图层次结构中不相关的其他东西),但是你已经改变了IB背后的类,它没有不知道它不应该再试图建立这些联系。右键单击场景中的每个视图以查找任何断开的连接并将其删除。如果我更正了属性的拼写或以任何方式更改它并且不在IB中删除并重新添加连接,则会发生这种情况。 95%的情况下,当我看到错误时,这就是问题。