有什么方法可以防止-[NSData bytes]变成悬空指针?

约翰贝克斯

我有一个基本的问题,关于在这种情况下Objective-C如何处理内存:

void testimage(){
    UIImage * iu = [UIImage imageNamed:@"testimage"];
    NSData *imageData = UIImagePNGRepresentation(iu);
    giveimage(imageData.bytes);
}

我没有明确分配任何内存,因此也没有删除任何内存。我将二进制信息传递到另一个C函数(库API的一部分)giveimage,然后将其用于非Object C语言代码库中的纹理。

我的问题是:这些数据的稳定性如何?它只是指向内存中某些数据的指针。在这种情况下,是什么导致系统无法用其他数据覆盖此内存?我自己没有以任何方式坚持下去,所以这里有担心吗?

脚本

在这种情况下,是什么导致系统无法用其他数据覆盖此内存?

约定:可可规则有关内存管理在这里,您处于惯例的错误方面。bytes指针将不会持续更长的时间比它的NSData实例。无论是NSDataUIImage每一个有限制的寿命testimage的功能。

在这种情况下,你应该使用getBytes:length:复制数据到您自己的缓冲区,或以其他方式进行复制。否则,您的恐惧将得以实现,并且testimage返回时数据将变为无效

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

NSData指针与参考

来自分类Dev

我们可以防止用户的光标变成带有CSS的选择工具吗?

来自分类Dev

有什么方法可以防止虚线边框合并吗?

来自分类Dev

有什么方法可以防止虚线边框合并吗?

来自分类Dev

有什么方法可以防止wallch更新.cache / wallpaper?

来自分类Dev

为什么悬空指针可以继续访问该对象?

来自分类Dev

有没有一种方法可以防止指针/光标与使用CSS的select元素后面的元素进行交互?

来自分类Dev

悬空指针和内存泄漏有什么区别?

来自分类Dev

UITextView可以从NSTextAttachment中显示哪种NSData?

来自分类Dev

NSData仅具有类方法“ NSData.dataWithContentsOfMappedFile(<#path:String#>)”

来自分类Dev

使用NSData dataWithContentsOfURL的单元测试方法

来自分类Dev

将数组存储为NSData的替代方法

来自分类Dev

图像加载中NSData的替代方法

来自分类Dev

在.NET中,有什么方法可以测试异步锁定,从而证明可以防止重入?

来自分类Dev

有什么方法可以防止Eclipse崩溃时重新导入所有项目?

来自分类Dev

有什么方法可以防止从用户拥有的目录中删除某些文件?

来自分类Dev

有什么方法可以防止从用户拥有的目录中删除某些文件?

来自分类Dev

有什么方法可以防止/保护方法在配置更改期间不会中断?

来自分类Dev

NSCoding和NSData之间有什么关系?

来自分类Dev

是否更优雅的替代(*(uint16_t *)[[NSData] bytes])?

来自分类Dev

NSData到NSArray给出如下错误:'-[__ NSCFArray bytes]:

来自分类Dev

我的angularjs应用启动时,有什么方法可以防止加载初始状态吗?

来自分类Dev

Intro.js-有什么方法可以防止在外部单击时关闭游览?

来自分类Dev

节点socket.io,有什么方法可以防止洪泛?

来自分类Dev

有什么方法可以防止愚蠢的Xcode更新到Storyboard?

来自分类Dev

窗口弹出窗口或破坏全屏\沉浸模式的广告。有什么方法可以防止这种情况?

来自分类Dev

除了eval之外,还有什么方法可以防止我的perl脚本因错误而终止

来自分类Dev

有什么方法可以防止杰克逊场反序列化吗?

来自分类Dev

有什么方法可以防止/禁用浏览器中的CTRL + [key]快捷方式?

Related 相关文章

  1. 1

    NSData指针与参考

  2. 2

    我们可以防止用户的光标变成带有CSS的选择工具吗?

  3. 3

    有什么方法可以防止虚线边框合并吗?

  4. 4

    有什么方法可以防止虚线边框合并吗?

  5. 5

    有什么方法可以防止wallch更新.cache / wallpaper?

  6. 6

    为什么悬空指针可以继续访问该对象?

  7. 7

    有没有一种方法可以防止指针/光标与使用CSS的select元素后面的元素进行交互?

  8. 8

    悬空指针和内存泄漏有什么区别?

  9. 9

    UITextView可以从NSTextAttachment中显示哪种NSData?

  10. 10

    NSData仅具有类方法“ NSData.dataWithContentsOfMappedFile(<#path:String#>)”

  11. 11

    使用NSData dataWithContentsOfURL的单元测试方法

  12. 12

    将数组存储为NSData的替代方法

  13. 13

    图像加载中NSData的替代方法

  14. 14

    在.NET中,有什么方法可以测试异步锁定,从而证明可以防止重入?

  15. 15

    有什么方法可以防止Eclipse崩溃时重新导入所有项目?

  16. 16

    有什么方法可以防止从用户拥有的目录中删除某些文件?

  17. 17

    有什么方法可以防止从用户拥有的目录中删除某些文件?

  18. 18

    有什么方法可以防止/保护方法在配置更改期间不会中断?

  19. 19

    NSCoding和NSData之间有什么关系?

  20. 20

    是否更优雅的替代(*(uint16_t *)[[NSData] bytes])?

  21. 21

    NSData到NSArray给出如下错误:'-[__ NSCFArray bytes]:

  22. 22

    我的angularjs应用启动时,有什么方法可以防止加载初始状态吗?

  23. 23

    Intro.js-有什么方法可以防止在外部单击时关闭游览?

  24. 24

    节点socket.io,有什么方法可以防止洪泛?

  25. 25

    有什么方法可以防止愚蠢的Xcode更新到Storyboard?

  26. 26

    窗口弹出窗口或破坏全屏\沉浸模式的广告。有什么方法可以防止这种情况?

  27. 27

    除了eval之外,还有什么方法可以防止我的perl脚本因错误而终止

  28. 28

    有什么方法可以防止杰克逊场反序列化吗?

  29. 29

    有什么方法可以防止/禁用浏览器中的CTRL + [key]快捷方式?

热门标签

归档