zoukankan      html  css  js  c++  java
  • NSData转换成NSDictionary

    在进行网络数据通信的时 候,经常会遇到NSData类型的数据。在该数据是dictionary结构的情况下,系统没有提供现成的转换成NSDictionary的方法,为此可 以通过Category对NSDictionary进行扩展,以支持从NSData到NSDictionary的转换。声明和实现如下:

    @interface NSDictionary (Helpers)
    + (NSDictionary *)dictionaryWithContentsOfData:(NSData *)data;
    @end

    @implementation NSDictionary (Helpers)
    + (NSDictionary *)dictionaryWithContentsOfData:(NSData *)data {
        CFPropertyListRef plist =  CFPropertyListCreateFromXMLData(kCFAllocatorDefault, (CFDataRef)data,
                                                                   kCFPropertyListImmutable,
                                                                   NULL);
        if(plist == nil) return nil;
        if ([(id)plist isKindOfClass:[NSDictionary class]]) {
            return [(NSDictionary *)plist autorelease];
        }
        else {
            CFRelease(plist);
            return nil;
        }
    }
    @end
     
     
  • 相关阅读:
    笔记2-斐波那契数列
    笔记1-排序
    C++ 顶层const和底层const ?
    C++指针常量与常量指针的区别?
    C++指针和引用的区别?
    函数指针, 指针函数?
    手机横竖屏问题
    Swift
    Swift 渐变色
    Swift guard 关键字
  • 原文地址:https://www.cnblogs.com/angongIT/p/3825942.html
Copyright © 2011-2022 走看看