NSData 如何存储在 .plists 中?

How is NSData stored in .plists?

我在 .plist 中存储了一个小的 PNG。

当我在 Xcode 中打开它时,icone 的值看起来像经典的 NSData:

但是当我打开它作为源代码时,它是:

<key>icone</key>
<data>YnBsaXN0MDDUAQIDBAUINDVUJHRvcFgkb2JqZWN0 [...]

因此我的问题是:由于它没有作为 NSData 存储在磁盘上,它是如何存储的? Base64?

在 Xcode 中,您会看到 NSData 的十六进制表示。

在实际的 plist 文件中,您看到的是数据的 base 64 编码表示。

这些都不重要。在您的代码中,您只需执行以下操作:

NSData *iconData = plistArray[0][@"icone"];