首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSMutableData SetLength错误

NSMutableData SetLength错误
EN

Stack Overflow用户
提问于 2011-09-06 04:06:54
回答 2查看 1.3K关注 0票数 1

我的应用程序从服务器获取一些json数据,并使用NSMUtableData对象来存储这些数据。但调试器报告以下错误:

代码语言:javascript
复制
[NSCFString setLength:]: unrecognized selector sent to instance

调试器突出显示以下行(在connection didReceiveResponse方法中):

代码语言:javascript
复制
[rqst_data setLength:0];

在头文件中将rqst_data声明为NSMutableData。

非常感谢您的帮助,

斯蒂芬

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-06 04:15:59

看起来你的rqst_data变量被释放了。确保您已经正确地分配了它。如果您已经为它声明了@property,那么您最好将变量用作self.rqst_data。你可以在属性声明中使用retain,如果是IOS5,可以使用strong

您可以通过将NSZombieEnabled设置为YES来跟踪是否释放了任何变量。启用僵尸后,发送到已释放对象的消息将不再表现异常或以难以理解的方式崩溃,而是以一种可预测和调试器断点的方式记录消息并死亡。您可以通过以下步骤设置NSZombieEnabled

从上面的菜单栏中选择Product。按住alt/option并选择“测试...”或者“跑……”。

  1. 转到Arguments选项卡,并在"Environment Variables“部分添加NSZombieEnabled YES

  1. 转到诊断选项卡,并选中“内存管理”部分中的Enable Zombie Objects
票数 3
EN

Stack Overflow用户

发布于 2011-09-06 04:16:10

看起来您的rqst_data指针实际上是指向NSString的指针,而不是NSMutableData对象。而且你不能设置NSString的长度。

您可能没有保留NSMutableData对象,或者过度释放了该对象,因此指向该对象的指针不再有效。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7312305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档