如何判断NSData实际上是否是NSImage?

vqd*_*ave 2 cocoa objective-c nsimage nsdata

我通过Bonjour协议来回发送数据.所有数据包都作为NSData字符串发送并通常转换为字符串; 但是如果我需要收到图片怎么办?这是将要进行的过程.

  1. 客户要求 NSImage
  2. 服务器将请求NSImage作为NSData数据包发送
  3. 客户收到 NSData
  4. 客户端检查数据是否为图像
  5. ????
  6. 利润?

我可以尝试将数据转换为图像并捕获错误(这意味着它不是图像)吗?

xda*_*azz 8

使用:

NSImage *image = [[NSImage alloc] initWithData:data];
Run Code Online (Sandbox Code Playgroud)

如果data是无效的图像数据,那么image将是nil.