问题标签 [nsdata]

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 投票
4 回答
12403 浏览

objective-c - 试图编写 NSString sha1 函数,但它返回 null

我有以下 Objective-C 函数:

我想要做的是采用 NSString 和 SHA1 对其进行编码。那部分似乎正在工作,我认为我失败的地方是如何将 NSData 对象转换回清晰的字符串。如果我使用 UTF8 编码,我会得到空白,如果我说 ASCII,我会得到奇怪的字符。我真正想要的是十六进制字符串,但我不知道如何得到它。这是使用 iPhone 3.0 SDK。

目前,我传入的任何字符串都返回为 NULL。

0 投票
1 回答
551 浏览

iphone - 使用 NSData 的内存问题

这是我的代码它不会释放内存达到 60 mb 并且应用程序会终止

for (int i=0; i<[modelList count] ;i++) {

0 投票
3 回答
1410 浏览

objective-c - 可可64位二进制文​​件泄漏内存?(释放 NSData 不会释放内存)

我一直在使用我的应用程序的不同版本玩了一段时间,似乎发生了奇怪的事情:

我的应用有 5mb 的空闲空间。上传文件时保留文件大小的内存。上传后保留的内存应该被释放。现在构建存在差异(gc = 垃圾收集器):

  • 32bit i386 no-GC:立即释放所有内存。
  • 32bit i386 GC:几乎所有内存都会立即释放。剩下的一段时间后。
  • 64bit x86_64 no-GC:释放最少的内存。像 10%
  • 64 位 x86_64 GC:根本没有释放内存。内存会保留几个小时。(活动周一)

我将 LLVM 与 CLANG 一起使用。我今天一直在运行仪器并检查泄漏/僵尸/等。一切似乎都很干净。(该应用程序相当简单。)

这种行为有解释吗?


更新:

那是一些奇怪的东西。我把问题归结为:

我将一个 20mb 的文件加载到 NSData 中并释放它。我在没有启用任何垃圾收集的情况下这样做。代码是:

当我为 i386 32bit 构建时,20mb 被分配和释放。当我将构建切换到 64 位 x86_64 时,版本什么也不做。分配的 20mb 停留。

上图 32bit 下 64 http://kttns.org/zguxn

这两个应用程序之间没有区别,只是上一个是为 32 位构建的,而下一个是为 64 位构建的。没有 GC 正在运行。(启用 GC 后会出现同样的问题。)


更新 2:

当我从头开始使用 applicationDidFinishLaunching: 中的上层代码创建一个新的可可应用程序时,可以观察到相同的行为。在 64 位模式下,内存不会被释放。i386 按预期工作。

NSString 而不是 NSData 也会出现同样的问题。当我启动 64 位内核时,它也会出现。(启动时保持 64。)

操作系统是 10.6.0

0 投票
3 回答
6167 浏览

iphone - NSData 到 NSString 的转换问题!

我得到一个作为 NSData 的 html 文件,需要对其进行解析以提取一些信息。我的方法是使用 UTF8 编码将其转换为 NSString(html 有非英文字符,例如俄语) - 它失败了。我使用了类似的东西:

但它返回零。

唯一真正起作用的是

但是当它遇到例如俄语字符时,它会返回jibrish。

然后我的下一个方法是解析数据的字节数组,提取我需要的字节并以某种方式将它们转换为 NSString。我尝试过这样的事情:

0 投票
4 回答
7503 浏览

iphone - NSData 到 NString 的转换问题

我得到一个作为 NSData 的 HTML 文件,需要提取其中的某些部分。为此,我需要使用 UTF8 编码将其转换为 NSString。问题是这种转换失败,可能是因为 NSData 包含对 UTF8 无效的字节。我试图获取数据的字节数组并对其进行检查,但是每次遇到非 ASCII 字符(例如希伯来字母)时,我都会感到不自在。

帮助将不胜感激。

更新:

对 Gordon - 生成的 NSData 是这样的:

当我说转换失败时,我的意思是

返回零

致 Ed - 这是我的代码(我从 NSData 获得了 Byte 数组,找到了我需要的东西,并从中构造了另一个 Byte 数组 - 将其转换为 NSData,然后尝试将其转换为 NSString ......听起来有点复杂...... )

}

0 投票
2 回答
4276 浏览

iphone - 在objective-c中只从磁盘读取文件的一部分

我正在使用 NSInputStream 读取一个非常大的文件并将它们以数据包的形式发送到设备。如果接收方没有收到数据包,我可以将数据包编号发送回发送方,该编号表示丢失数据包的起始位置(以字节为单位)。

我知道 NSInputStream 不能倒带和抓取数据包,但是有没有另一种方法来抓取请求的字节范围而不将整个大文件加载到内存中?

如果有一个 [NSData dataWithContentsOfFileAtPath:inRange] 方法,那就完美了。

0 投票
1 回答
1174 浏览

iphone - iPhone - 解析 nsdata 以获取存储在那里的多个文件

我正在尝试查找我正在解析的 nsdata 对象内的新行并返回。这是一些代码:

我只需要知道我何时换行或返回。

谢谢你。

0 投票
1 回答
10772 浏览

iphone - 从 NSData 创建 UiImage

下面是我复制的代码(从这个站点),由于原始代码无法编译,所以只做了一点修改。我想操纵字节数组进行边缘检测并最终对颜色进行简单的更改,但首先我想让基本代码正常工作。目前,系统编译运行。它在屏幕上显示一头画得很糟糕的大象。当我触摸图像时,它会消失。单步执行显示 imageWithData 的结果为 0x0。我用 png 和 bmp 都试过了,结果相同

关于我做错了什么的任何线索?!

ImageViewDrawable 定义为:

0 投票
3 回答
21471 浏览

iphone - 在obj-c中将NSData加密为NSString?

我有一个 iPhone 应用程序,它使用 CCCrypt (AES256) 和明文密钥对输入的 NSString 进行加密。字符串和密钥被提供给返回 NSData 对象的加密方法。

请求 [data description] 其中 'data' 是加密的字符串数据会给出一个 NSString,例如:“<0b368353 a707e7de 3eee5992 ee69827e e3603dc2 b0dbbc0b 861ca87d f39ce72a>”但是当我尝试将其转换为 NSString 时,我得到“(null)”。

我需要向用户返回一个 NSString,它可用于使用相同的明文密钥解密回原始字符串。如果 NSData 对象的“描述”属性可以返回一个字符串,有什么方法可以从 NSData 对象生成一个 NSString 而不会得到“(null)”?

更新:感谢 Quinn,他建议使用 Base64 编码来生成混乱的字符串。据我了解,Base64编码并不是简单地交换字符,而是字符交换取决于位置,所以没关系。

我唯一担心的是我希望能够使用“密码”加密消息,并且在需要解码混乱的字符串时需要输入相同的密码 - 任何人都可以提出实现这一点的方法吗?

0 投票
3 回答
30965 浏览

iphone - NSData & NSURL - 带有空格的 url 有问题

我的应用程序中有以下代码。

pathOfThumbNail 具有以下路径


http://70.84.58.40/projects/igolf/TipThumb/GOLF 58B.jpg


当我在 safari 浏览器中打开上述路径时 - 路径会自动更改并成功显示图像。

http://70.84.58.40/projects/igolf/TipThumb/GOLF%2058B.jpg


但在 iPhone 中,由于路径中的空间,图像未加载到 nsdata 中。