我的应用程序从服务器获取一些json数据,并使用NSMUtableData对象来存储这些数据。但调试器报告以下错误:
[NSCFString setLength:]: unrecognized selector sent to instance调试器突出显示以下行(在connection didReceiveResponse方法中):
[rqst_data setLength:0];在头文件中将rqst_data声明为NSMutableData。
非常感谢您的帮助,
斯蒂芬
发布于 2011-09-06 04:15:59
看起来你的rqst_data变量被释放了。确保您已经正确地分配了它。如果您已经为它声明了@property,那么您最好将变量用作self.rqst_data。你可以在属性声明中使用retain,如果是IOS5,可以使用strong。
您可以通过将NSZombieEnabled设置为YES来跟踪是否释放了任何变量。启用僵尸后,发送到已释放对象的消息将不再表现异常或以难以理解的方式崩溃,而是以一种可预测和调试器断点的方式记录消息并死亡。您可以通过以下步骤设置NSZombieEnabled。
从上面的菜单栏中选择Product。按住alt/option并选择“测试...”或者“跑……”。
NSZombieEnabled YES。或
Enable Zombie Objects。发布于 2011-09-06 04:16:10
看起来您的rqst_data指针实际上是指向NSString的指针,而不是NSMutableData对象。而且你不能设置NSString的长度。
您可能没有保留NSMutableData对象,或者过度释放了该对象,因此指向该对象的指针不再有效。
https://stackoverflow.com/questions/7312305
复制相似问题