EXC_BAD_ACCESS 访问 NSMutableData

发布于 2024-11-08 23:25:52 字数 199 浏览 0 评论 0原文

当我尝试访问数据时,我收到 EXC_BAD_ACCESS,我想这是因为我尝试访问内部数据,但我不知道如何解决这个问题,代码:

//data->NSMutableData

int identi;

[data getBytes:&identi];
NSLog(@"identificador: %i",identi);

I´m getting an EXC_BAD_ACCESS when I trying to acces to the data, I suppose it is because I trying to acces to the internal data, but I don´t know How to solve this, the code:

//data->NSMutableData

int identi;

[data getBytes:&identi];
NSLog(@"identificador: %i",identi);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼眸里的那抹悲凉 2024-11-15 23:25:52

根据 文档,

在 Mac OS X v10.6 中已弃用。这
方法是不安全的,因为它可能
可能会导致缓冲区溢出。你
应该使用 getBytes:length: 或
getBytes:range: 相反。

该方法是,

- (void)getBytes:(void *)buffer

参数: buffer

将接收器数据复制到其中的缓冲区。缓冲区必须至少为 length 字节。

您正在尝试将接收器数据保存到 int 值 identi 中。

According to documentation,

Deprecated in Mac OS X v10.6. This
method is unsafe because it could
potentially cause buffer overruns. You
should use getBytes:length: or
getBytes:range: instead.

The method is,

- (void)getBytes:(void *)buffer

Parameters: buffer

A buffer into which to copy the receiver's data. The buffer must be at least length bytes.

You are trying to save the receiver data into identi, a int value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文