Ios 子类UITableViewCell不使用出列
我用一个新的类symbolCell将UITableViewCell子类化,它有一个头、实现和xib文件。我在mainViewController的viewDidLoad方法中将symbolCell注册到firstTable,即UITableView,方法如下:Ios 子类UITableViewCell不使用出列,ios,uitableview,subclass,Ios,Uitableview,Subclass,我用一个新的类symbolCell将UITableViewCell子类化,它有一个头、实现和xib文件。我在mainViewController的viewDidLoad方法中将symbolCell注册到firstTable,即UITableView,方法如下: UINib *nib = [UINib nibWithNibName:@"symbolCell" bundle:nil]; [firstTable registerNib:nib forCellReuseIdentifier:@"
UINib *nib = [UINib nibWithNibName:@"symbolCell" bundle:nil];
[firstTable registerNib:nib forCellReuseIdentifier:@"symbolCell"];
然后,我稍后用
symbolCell *cellForTableOne = [firstTable dequeueReusableCellWithIdentifier:@"symbolCell"];
但是,此代码会创建错误“*由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:”[setValue:forUndefinedKey:]:此类不符合密钥symbolFieldLabel的键值编码。“”其中symbolFieldLabel是symbolCell上的UILabel。也就是说,这条线就是发生错误的地方。为什么会这样?我以前多次对单元格进行子类化,从未遇到过此错误。将文件的所有者设置为自定义类,而不是将根视图设置为自定义UITableViewCell子类。然后将您的outlet连接到根视图。是否检查了XIB中使用的所有类名?看起来您在XIB中定义了一个outlet,但在
UITableViewCell
子类中没有存储该outlet的属性;或者正如@Wain所说,您忘了在xib中指定子类。xib类名是symbolCell,当我检查文件所有者下的连接时,有一个到有效属性的有效连接。还有其他想法吗?我想不出来。只要试着删除所有IBOutlet连接,然后重新连接。当我在一个xib中复制一些视图并将它们粘贴到另一个xib中时,我曾经遇到过同样的错误,所有的IBoutlet仍然连接到旧的IBoutlet。我只是尝试了一下,但似乎不起作用。我相信有一个简单的解决方案,我只是错过了。