代码之家  ›  专栏  ›  技术社区  ›  Amagrammer

iPhone:缺少方法?NSDictionary包含数据:

  •  0
  • Amagrammer  · 技术社区  · 14 年前

    static NSString *fileName = @"tempFile";
    [data writeToFile: fileName atomically: NO];
    NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile: fileName];
    

    我很惊讶NSDictionary没有dictionaryWithData:方法。如果dictionaryWithString:存在,我甚至不介意先将NSData转换成NSString。很明显,SDK在幕后也在做类似的事情,但它并没有暴露给开发人员。

    有人能提出更好的方法吗?我需要转换的其中一个文件可能相当大,并且执行文件写入+文件读取操作可能有点慢。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Ole Begemann    14 年前

    +[NSPropertyListSerialization propertyListFromData:mutabilityOption:format:errorDescription:]
    +[NSPropertyListSerialization propertyListWithData:options:format:error:]
    

    前者在iOS 2.0+中可用,但在4.0中已被弃用。