美文网首页
NSArray+YYAdd的学习

NSArray+YYAdd的学习

作者: _阿南_ | 来源:发表于2017-10-31 16:42 被阅读38次
图片来之网络

数组获取

+ (NSArray *)arrayWithPlistData:(NSData *)plist {
    if (!plist) return nil;
    NSArray *array = [NSPropertyListSerialization propertyListWithData:plist options:NSPropertyListImmutable format:NULL error:NULL];
    if ([array isKindOfClass:[NSArray class]]) return array;
    return nil;
}

将NSData转化为NSArray。 NSArray没有提供将NSData转化为数组的方法,只是提供了+ (nullable NSArray<ObjectType> *)arrayWithContentsOfFile:(NSString *)path;根据文件来获取数组。

NSPropertyListSerialization

提供了将NSData转化为id(包含NSArray和NSDictionary):

+ (nullable id)propertyListWithData:(NSData *)data options:(NSPropertyListReadOptions)opt format:(nullable NSPropertyListFormat *)format error:(out NSError **)error API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0));

也提供了id(包含NSArray和NSDictionary)转化为NSData:

+ (nullable NSData *)dataWithPropertyList:(id)plist format:(NSPropertyListFormat)format options:(NSPropertyListWriteOptions)opt error:(out NSError **)error API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0));

之前如果需要将NSDictionary或NSArray转化为NSData,那么会使用

  • NSJSONSerialization JSON解析
  • - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
  • NSKeyedArchiver 归档
    的方法来转化。现在多了一种使用NSPropertyListSerialization的方法。并且NSJSONSerialization转化的后的NSData一定需要NSJSONSerialization来解析。

随机获取数组中的元素

- (id)randomObject {
    if (self.count) {
        return self[arc4random_uniform((u_int32_t)self.count)];
    }
    return nil;
}

arc4random_uniform指定范围获取随机值。

// END iOS提供了很多种好的方法,但是好多没有直接使用,而是自己再实现一遍,那么!_!。

相关文章

  • NSArray+YYAdd的学习

    数组获取 将NSData转化为NSArray。 NSArray没有提供将NSData转化为数组的方法,只是提供了+...

  • 学习的学习

    “三分钟的热情相信大家都有,但是能够重复思考一个概念,一个知识点,并把它吃透掌握才是大部分人稀缺的能力。”李笑来老...

  • 学习的学习

    不只是学习,听完是不够的。 还要把学到的东西变成方法论、清单式的条目出来去刻意练习。去用,去不断的实践。 有个词 ...

  • 学习的真相|学习「学习」再学习

    不知不觉间,笑来老师在“好的家庭教育”讲的新课《学习的真相》,已经更新到了第12课,关于“学习的真相”这门课,我认...

  • 元学习——关于学习的学习

    元学习是一门关于如何学习的课程。 首先理清几个概念 1、学习是拼图 学习并不是线性的,相反学习是一张信息拼图,类似...

  • 学习,就是学习学习的态度!

    学习,从来都需要态度! 没有了态度,你来了,也不过是躯体入场,思想游荡! 那就学习学习的态度喽!

  • 学习学习再学习的成长

    女儿快要中考了,随着时间的临近,中考紧张气氛越来越浓。成绩一直不太理想的她,也有了紧迫感,不时表露出来“书到用时方...

  • 学习,学习的方法

    学习一门学科首先掌握这个领域的一些基础理论和概念 然后学习一些高级的组合框架,这些框架是一些能够解决这个领域通用问...

  • 08 学习的学习

    1 现代人,基本都是读书人,我们从小学,甚至是幼儿园就开始读书写字一直到大学毕业,少说也有16年,但是很多人都不知...

  • 学习学习的方法

    1.效率的本质 很多人常常拒绝学习,拒绝学习的理由和痴迷于学习的理由一样——不知道它有什么用。 学习是投资回报率最...

网友评论

      本文标题:NSArray+YYAdd的学习

      本文链接:https://www.haomeiwen.com/subject/nssbpxtx.html