2014-02-19 67 views
0

我只是混淆了什么时候使用NSData。我即将获得存储在服务器中的一些数据(我只是用的Dropbox这里,而不是一些练习。)我没有什么 到目前为止字节缓冲NSData

  • 提出了一些P-列表存储2个阵列,一个存储字符串对象,另一个存储音频数据的公用URL的字符串对象。

  • 当我从plist中创建的NSString,我没有使用NSData对象

  • 当我创建的NSAudio播放器存储在同一个项目文件夹中的数据,我没有使用NSData对象
  • 当我创建的NSAudio播放器的数据存储在服务器中时,我使用NSData

我只是不明白何时正确使用NSData对象。我检查了应用程序文档,但它说“数据对象让简单的分配缓冲区”这里分配的缓冲区是什么? 谢谢,

回答

3

NSData只是一个字节数组的包装。无论您需要什么字节数组,您都可以使用字节数组并手动执行所有操作(访问和操作数据),也可以将其包装在NSData(或NSMutableData,如果需要修改字节)并使用Apple提供的功能可以轻松访问或修改数据。

分配的缓冲区是存储在NSData包装内的字节数组。假设你在磁盘上有一个音频对象,你想在中间修改一个字节。您可以将该数据从磁盘加载到音频元素中,但不能修改它。如果从磁盘加载字节值到NSMutableData,则可以直接访问字节,使用提供给NSMutableData类的简单方法修改任何您想要的内容,然后将音频元素还原到磁盘(或将该数据直接加载到您的磁盘中音频元素)。

NSData对象的最佳用途只有当你需要它时,就像任何其他类一样。如果您特别需要该功能来运行您的应用程序,然后使用它。否则,它可能只是一个不需要的添加步骤(例如磁盘上的数据 - >音频元素与磁盘上的数据 - > NSData - >音频元素)。

+0

很好的答案。 (投票) –

+0

@DuncanC谢谢,先生。 – Putz1103

+0

@ Putz1103:非常感谢你:) – Tosh