【问题标题】:NSData bytes method - (const void *)bytes returned pointer emptyNSData bytes 方法 - (const void *)bytes 返回指针空
【发布时间】:2014-03-12 00:39:06
【问题描述】:
const unsigned char *rawImgNSDataBuffer=(unsigned char *)[self.RNGbyImage.rawImgNSData bytes];

我正在尝试通过调用方法 - (const void *)bytes 来读取我的 NSData。 我所做的是将返回的字节分配给我自己的 unsigned char 指针,以便从这个指针 rawImgNSDataBuffer 中读取 rawImgNSData 中的字节。但是,返回的指针 rawImgNSDataBuffer 的内容始终为 0。它不是零,但它从不包含我期望的 char 值。 我会保证我的 NSData 不是 nil 并且 NSData 的长度 > 0。我努力阅读它但没有奏效。任何帮助将不胜感激。

【问题讨论】:

  • 你看NSData bytes的描述信息了吗? “指向接收者内容的只读指针。”,这意味着如果 NSData 对象消失,char 数据也会消失。

标签: ios objective-c pointers byte nsdata


【解决方案1】:

如果您的 rawImgNSDataBuffer 不是 nil,那么事情应该可以正常工作。你是什​​么意思它有 0 内容?你是在调试区看的吗?

如果您正在打印内容并且它什么都不显示,这可能只是意味着第一个字节是 '00' 就 char 类型而言,它只是意味着字符串的结尾。但是,这并不意味着那里没有数据。

我建议在调用字节后放置一个断点,然后在调试区域中右键单击 rawImgNSDataBuffer 变量并选择“查看“rawImgNSDataBuffer”的内存”。您将更好地了解那里的数据实际情况。

【讨论】:

    猜你喜欢
    • 2016-04-06
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 2016-01-12
    • 1970-01-01
    • 2019-09-09
    相关资源
    最近更新 更多