xcode中得一个坑

时间:2024-08-29 10:34:38

因项目需求变动,我必须在coredata中的WorkLogModel表中添加一个字段:抄送人。起初我给这个字段起名为copyPerson,一切准备就绪后,发现从数据库读取这个copyPerson时,第一次使用没问题,但第二次使用程序就会崩溃。报出的的错误是:将消息发送给了一个已经释放的对象!意思是说,第一次使用copyPerson后,这个对象就被释放了,所以第二次再次使用它就会报出这种内存错误。真是百思不得其解!!!明明用的是ARC啊!!!

第二个星期,我再次抽出时间研究这个问题,看着这个copyPerson时,我猛然想起之前遇到的一个现象:当你在一个类中使用@property()声明一个属性时,如果你的属性名是copy**,那么就会报错!因为我们知道,copy和weak,strong等一样,是属性的一个特征,与引用计数有关,所以起名字时带有copy关键字就会有一些意想不到的错误(注意这里指的是用@property声明属性时)。

运气还算不错,问题终于解决了,又多了一个宝贵的经验!