问题标签 [nsmutabledata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
493 浏览

ios - 从文件路径获取数据时崩溃

应用程序在尝试从路径/URL(存储在文档文件夹中的视频文件)仅针对大文件 (>100 MB) 获取数据时崩溃。

设备详情:iOS (4.3)、iPad 1

  1. URL 是完美的(检查日志)
  2. 文件存在于该路径(检查路径)

注意:仅在设备上崩溃。

以下是应用程序崩溃的代码:

任何意见。

0 投票
1 回答
400 浏览

nsmutabledata - How to assign different data types to NSMutableData

I'm trying to create a vertex attribute array for storing vectors and indices in a mesh. I realise that vertex attributes can be made up from vector2, vector3 and/or vector4 so i'd like to create a class that caters for them all without constraining methods to return a certain type of object. As a test, i've written the following class making use of NSMutableData:

From within my mesh class, i'd like to be able to call something like:

The first method accessing data would be preferred as this doesn't constrain the class to work with a specific type of struct but Xcode just throws the warning "Incomplete type 'void' is not assignable."

I don't want to have multiple methods for different types of data structures but I can't see any way to get around this currently. Having methods that return pointers to different types doesn't look very elegant and adds a lot of vestigial unused (and unwanted) code.

Is there a way to work around this to create an agnostic data store? I'd prefer for my mesh class to have different VertexAttributeArray objects to store vertices, indices, normals and colours etc so storing vector2, vector3 and vector4 is ideally where i'd like to be. How would I work around achieving this?

0 投票
2 回答
407 浏览

iphone - 验证 NSMutableData 中的 resetBytesInRange

我在内存中有一个巨大的 NSMutableData 对象(大小约为 1 MB),现在我想将对象中的所有字节替换为 0(而不是释放内存)。resetBytesInRange 方法让我可以做到这一点。但是,如何验证/检查字节是否实际设置为 0。我想查看内存地址并确认这一点。这可能吗?

我有以下代码

现在,当我查看 imgData 指向的地址(以及以下几个位置)时,在 resetBytes 之前和之后,我看不到从 imgData 指向的地址开始的内存位置中的值有任何变化(我希望见分配的零)。我假设内存分配从 imgData 指向的地址开始是连续的(直到 [imgData 长度])。这个假设是否正确(似乎不是)?如果不是 NSMutableData 对象中的字节存储在哪里?我可以单独访问它们吗?

谢谢

维韦克

0 投票
1 回答
974 浏览

objective-c - [[NSMutableData alloc] initWithLength:] 和 CFDataCreateMutable() 的区别?

我正在查看一些创建可变数据对象并将 SHA1 哈希放入其中的代码。如果我初始化目标可变数据对象

一切正常。如果我将那一行更改为

它会中断(在 SHA1 命令之后,可变数据对象似乎仍然为空)。在这两种情况下,创建之后的行hashDataRef

我没想到两者之间会有任何区别,但显然我错过了一些东西。在不使用 NSMutableData 和免费桥接的情况下,是否有适当的 Core Foundation 方法来获取我想要的可变数据对象?

0 投票
3 回答
3331 浏览

objective-c - NSURLConnection 确实触发了didReceiveData,但是返回的数据为零

附加问题: 现在接收到的总数据长度为 89973。但是使用下面的代码将其转换为字符串会返回一个(空)字符串。解决了它:将编码更改为 NSASCIIStringEncoding,现在它可以工作了。

已解决的问题: 我正在尝试登录网站并获取返回的数据。一切正常,重定向工作正常。

didReceiveData 也被多次调用,但奇怪的是:数据长度为零。即使我从 didReceiveData 中 NSLog 数据长度。

下面是 .m 和 .h 文件以及生成的 NSLog 信息。

我对 Objective-C 很陌生,现在我正在尝试解决这个问题几个小时,但我似乎找不到原因。

我希望有人可以看看我。

这是 .m 文件

这是.h文件

这是生成的 NSLog:

0 投票
2 回答
63 浏览

nsstring - 如何将 NSString 直接分配给 NSMutableData?

我正在开发一个包括 sqlite 数据库的应用程序。我想使用 AES 加密对数据库内的数据进行加密和解密。我已成功实施 AES 加密并将加密数据插入数据库中。并将数据提取到 NSString 中。

那么如何在不将字符串值更改为 NSMutableData 的情况下分配该字符串。因为我想将该数据传递给 AES 解密方法。

0 投票
3 回答
3077 浏览

iphone - 如何反转 NSMutableData 的顺序

我想反转NSMutableData.

我正在从音频文件生成 nsmutabledata 对象。并使用数据播放它。我的目的是反向播放音频。

如果我能扭转局面,NSMutableData我就会成功。

这是我的代码

0 投票
2 回答
1114 浏览

objective-c - 从 NSMutableData 保存和检索 Sint16

我需要在某个地方保存然后检索 Sint16(2 个字节)。

我得到:

并想保存&frames[i]在以后可以轻松检索的某个地方(NSMutableData?)。我试图像这样保存(循环中):

并检索:

但是这个回报和我投入的不一样。

那么有什么解决办法呢?

谢谢。

0 投票
1 回答
93 浏览

iphone - 下载后重新组合 NSData 对象

我在服务器端将一个文件分成 50 mb 的数据包,当我在 iPad 上接收它时,我通过 NSURLConnection 作为 NSData 对象接收。要重新拼接数据,我是否创建一个空的 NSMutableData 对象并将数据包按顺序附加在一起?或者我应该使用 NSFileHandle,写入文件,寻找文件结尾,写入下一个文件,寻找文件结尾,冲洗,重复?谢谢!

0 投票
4 回答
1040 浏览

iphone - 将 XML 转换为 NSString

以前,我能够使用以下编码获取 URL 的内容:

<?xml version = "1.0" encoding = "UTF-8"?>

并将其解析为 NSString ,代码如下所示:

但是,我现在需要获取的内容实际上是没有编码类型的,例如:

<?xml version="1.0" ?><authenticate><auth>Y</auth></authenticate>

因此,现在,当我 NSLog 字符串时,它是空的。已经尝试搜索其他方法,但我发现的所有示例,人们都可以使用 UTF8StringEncoding。很高兴有任何建议:)!谢谢!