iphone - NSData 表现为可消耗的数据流。可能的?

标签 iphone objective-c cocoa-touch nsdata

我目前正在进行大量数据整理工作。我摄取 lloonngg NSData 字节流,然后解析该数据。解析是微不足道的。然而,当我通过不是特别优雅的簿记进行解析时,我必须模拟数据的消耗。以下是我实现的 NData 类别中的典型方法:

//获取一个小尾数 32 位数字 - (uint32_t)getInt32OffsetIncrement:(NSUInteger *)偏移量{

uint32_t unused;
NSRange myRange = NSMakeRange(*offset, sizeof(unused));

[self getBytes:&unused range:myRange];

*offset += sizeof(unused);

return CFSwapInt32LittleToHost(unused);

}

如您所见,我检索数据,然后将 NSRange“指针”前进到数据流中。当我完成后,我已经消耗了整个数据流。

我是否忽略了 NSData 上可以同时检索数据并沿数据流长度推进指针的任何方法?

干杯, 道格

最佳答案

我刚刚编写了与此非常相似的代码。我不相信有任何内置的 NSData 方法可以帮助解决这个问题。看起来您已经将其作为 NSData 类别来执行。我认为这是你能做的最好的事情,除非你想子类化并将偏移量保留在成员中。

关于iphone - NSData 表现为可消耗的数据流。可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1548251/

相关文章:

ios - iOS 是否允许在应用程序内打开或关闭蜂窝数据?

iphone - 如何在同一个 iPhone View 上拥有表格和其他元素?

iphone - 在横向模式下只设置一个 ViewController

objective-c - NSData initWithContentsOfURL : does not return the original allocation?

objective-c - 通过用户输入的名称调用函数

objective-c - 如何自定义 UIWebView 点按链接表

iphone - 文本转语音应用程序大小

ios - 当按钮按下两次时,如何使用 NSUSerDefaults 更改颜色

iphone - iPhone 中的 SQLite :I want to Retrieving 1 row for each date from sqlite

ios - 设置默认时区不成功