-[UITableView copyWithZone:]: unrecognized selector sent to instance 0x7XXXXXX00

-[UITableView copyWithZone:]: unrecognized selector sent to instance 0x7XXXXXX00

-[Class copyWithZone:]: unrecognized selector sent to instance 0x7XXXXXX00

出现这个错误的原因是,全局的属性的修饰词写错了,

比如一个view 本来应该用weak和strong 修饰,结果你写成了copy  那么就会出现这个错误

错误:

@property (nonatomic,copy) UITableView *tableView;     //tableView;

正确:

@property (nonatomic,strong) UITableView *tableView;     //tableView;

下面来自外国兄台的回答给大家个参考

Your -setObj1: method is declared as copy, so it calls -copy on your Class1 object. -copy just calls -copyWithZone:nil. So you either need to implement the NSCopying protocol (which means implementing -copyWithZone:), or change your property from copy to retain.

To make your class respond to copyWithZone:, you have to implement the NSCopying protocol in your class. And you must override the copyWithZone: method.

要实现自定义对象copy,需遵守NSCopying、NSMutableCopying协议,实现copyWithZone、mutableCopyWithZone 方法

更多关于copy请看

https://blog.csdn.net/qq_25639809/article/details/80048843

 
原文地址:https://www.cnblogs.com/isItOk/p/10803683.html