• 关于NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary


          NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary 在 OC 中我们天天都要用,而我们要怎么学习它们呢?

          我觉得学习这些经常使用的类,使用类比的方法即可了,仅仅要学会一个类,就能类比另外两个类了..

          比方,NSString和NSMutableString的可变与不可变,主要区分的标准是,它们本身是不是能够变,可变的一般都能增,删,改,而不可变的方法主要是创建,查看,得到元素个数或者长度等等;

              命名规则

    NSString

    第一,创建                                    initWithFormat或者stringWithFormat
    第二,求字符串长度                      length
    第三,推断字符串是否相等           isEqualToString
    第四,字符串替换                         stringByReplacingOccurrenceOfString:withString:
    第五,字符串比較                         compare  返回值枚举
    第六,字符串拼接                         stringByAppendingFormat
    第七,求字符                                substringFromlndex
    第八,查询字符串                         rangeOfString
    第九,前缀,后缀                            hasPrefix    hasSuffix
    第十,字母大写                             uppercaseString

    NSMutableString     可变字符串

    第一,创建  使用父类继承的方法或者使用自己的创建方法      initWithCapacity
    第二, 增         insertString:atlndex:        /////////////////
    第三, 删         deleteCharacterslnRange:
    第四, 改         replaceCharacterslnRange:


    NSArray      容器  仅仅能存储对象(继承自NSObject的类) 不可变的数组 不能加入 不能删除,不能改动, 
    第一,创建              initWithObjects:     arrayWithObjects:
    第二,看元素          ,objectAtIndex:
    第三,数组个数,      [array count]

    第四,排序              [sortedArrayUsingSelector: ] 比較字符串直接用compare,假设比較person,就须要重写比較方法

                                 [sortArrayUsingComparator: ]block作为參数排序,优先使用这个


    NSMutableArray    可变字符串

    第一,增(加入),       addObject
    第二,删                  removeObjectAtIndex:           removeObject       removeAllObjects
    第三,插入              insertObject:  atIndex:
    第四,替换              replaceObjectAtlndex: withObject:
    第五,交换              exchangeObjectAtIndex:(目的串)     withObjectAtIndex:(来源串)


    NSDictionary   不可变字典

    第一,创建                     + dictionaryWithObject:forKey:  – initWithObjectsAndKeys:
    第二,看键值对个数       - count

    第三,通过键获取值       -objectForKey;


    NSMutableDictionary  可变字典

    第一,创建                      initWithCapacity

    第二,加入(增)                setObject:  forKey:

    第三,删                           removeObjectForKey:

    第四,改                          setObject: forKey;

    collection   集合(容器)
    包含 Array(有序容器)   Dictionary(无序容器)   set(集合)  

    NSValue , NSNumber 容器,转换作用

    NSValue     转换结构体为对象
    NSNumber 转换基本数据类型为对象

    NSSet集合     无序并且不重      能够用来排除反复  
      
    另一个能够用来计算反复多少次的子类

    使用 —s复数的方法   一般返回值是   用新建的数组存起来

    #pragma mark -----------创建NSCountedSet 能记录元素的反复次数

            NSCountedSet * countSet = [NSCountedSet setWithObjects:@"1",@"2",@"3",@"1",@"1",nil];

            NSLog(@"countForObject = %ld",[countSet countForObject:@"1"]);

    #pragma mark -----------高速枚举(遍历)

    //        for (<#type *object#> in <#collection#>) {

    //            <#statements#>

    //        }

            //数组 上面object是元素   //字典 上面objectkey

    近期关于封装,也有一些新的认识,详细例如以下:

    就是把main函数里面的代码封装到还有一个新的类.然后在main函数里面调用方法即可了
    就像C语言的函数一样

    .尽量用forin遍历,而不是循环.字典forin元素的是key,forin不能删除元素,改动元素,可是能够记录下来.在外面删除就好了
    假设有两个或两个以上初始化方法,就用指定初始化方法,指定初始化方法,以參数多的那个为指定方法.



  • 相关阅读:
    【Rxjs】Rxjs预习
    【vscode】插件开发--vs控制在浏览器打开
    Unexpected directive 'XXX' imported by the module 'AppMoode'
    【vscode插件开发】vscode->angular组件跳转、数据监听流程
    pip 错误Requested **, but installing version **
    Temporary failure in name resolution
    python yield
    Python partial函数
    excel的导入导出
    Apache2.4 + Tomcat7 负载均衡配置
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6869419.html
Copyright © 2020-2023  润新知