zoukankan      html  css  js  c++  java
  • OC4-foundation NSString NSArray


      目标:1.如何查询API 习惯, 2.foundation 框架,nsstring nsarry nsnumber NSdictionary,

     即时通讯:融云 环信。

      1.API application 应用程序;interface 开放接口 (应用程序编程接口)

        接口就是一系列的操作方法,

     查询API作用: 能够知道都有些那些方法,每个属性的意义,每个方法的作用,这个类的继承关系。

     查询方法:command +鼠标左键,点击类名 只能查看属性和方法:

          (2)alt/option  +鼠标左键,查看类的详细信息,即API

     2.框架:将每个工程里面的重复性,可复用的提取出来,作为以后可以直接拿来用的部分,这个部分就是框架。

       Mvc框架:

       内容:core foundation(核心) ; foundation ;  uikit;(---》)

     3。foundation主要包含:对一些c语言中不是很便利的部分,进行了封装,打包成新的类,主要包含:数组/字符串/字典/数值类型/集合/日期。

     4.字符串:(1)不可变字符串:(2)可变字符串

      (1)创建不可变字符串 1) 通过字面创建变量  [NSString *s1=@“ ”]

                        2)通过init来创建: [NSString *s2=[NSString alloc]init];]没有什么意义

                        3)通过便利构造器1: NSString *s3=[NSString stringWithString:s1]; 相当于s1;

                        4)通过便利构造器2   NSString *s4=[NSString stringWithFormat:@"  %@,  %d",s1,4];

                        5)将c的字符串转化为OC的字符串:char *s5="wo shi ni de xiao ya xiao pingguo ";

                                   NSString *s6=[NSString stringWithUTF8String:s5];

     5.求字符串长度:[s1 length];

     6.求字符串判断是否以.mp3结尾。(1) [s2 hasPrefix:<#(NSString *)#>]  判断 字符串1 是否与 s2开头的 字符相同;前缀:prefix;

                               (2) [s2 hasSuffix:<#(NSString *)#>]  判断 字符串1 是否与 s2结尾处 的字符相同。后缀:suffix;

     7.字符串的截取: 取目标的一部分字符串,作为新的字符串返回,

       (1)substringToIndex:2--从0开始到2,不包括2;

       (2)substringFromIndex:2 --从2开始到结尾,包括2;

       (3)s1 substringWithRange:NSMakeRange(7, 4) --从7开始之后4个字符,不包括7.

     8.拼接字符串:NSString *temp= [s1  stringByAppendingString: s2];

     9. 替换字符串:替换的新的字符串长度,不必一定和原来的字符串一样长,只是占用原来的地址,[temp stringByReplacingCharactersInRange:NSMakeRange(4, 7) withString:@"belong to me"]

     10.比较字符串:int re=[s1 compare:s2]; 

     注意:(1)返回值,只有1.0.-1三种情况,

         (2)和c的比较规则 s1<s2 = -1; s1>s2 是1,

     11.大小写转换,全部首字母大写 [s uppercaseString];

                 全部首字母小写 [s lowercaseString];

                 单词首字母大写 [ s capitalizedString];

     12.可变字符串:字符串分可变和不可变,可变的字符串 NSMutableString, 是可以随时改变值的,

         而且NSMutableString是对nsstring的继承,拥有所有的方法。

         所有的不可变字符串的初始化后面加上.mutablecopy都可以作为可变字符串的声明初始化。

     拼接:NSMutableString *temp=[ s  stringByAppendingString:@"qwesdk"];
                     [s1 appendString:@"which"]; 没有返回值,没有字符串接收,可变字符是在原字符上直接修改的。
     插入:[s2 insertString: @" you" atIndex:5];//在序号指定的位置,插入一段字符串。
     删除:[ s3 deleteCharactersInRange:NSMakeRange(24, 9)];  //   9 可以用[[s length] - 24 ]替代
     替换:

     13.字符串总结:(1).可变字符串拥有所有不可变字符串的所有方法,(2).不可变字符串将结果通过返回值返回值,可变的直接修改自身,(3)不可变字符串效率更高。

              (4)

     14 数组:oc中 将数组中常用的操作打包整理成了一个类,且存放必须是对象。

       不可变的 NSArray;

     (1)字面量,快速的创建三个元素的数组,(2)*a2=[[NSArray alloc]initWithObjects:@"lubu",@"chitu",@"huaxiong", nil];初始化,nil是终止的标志,2个以上必须要nil 结束。

     (3)求数组元素的个数:     NSLog(@"%lu",[a1 count]);

     (4)求取数组的元素          NSLog(@"%@",[a1 objectAtIndex:1]);

     (5) 求一个元素在数组的位置。   NSLog(@"%lu",[a1 indexOfObject:@"zhaoyun"]);   若元素不存在,不是返回—1,而是返回一个地址的最大值。

     可变的,NSmutableArray;

     (1)添加元素:最后一个元素打印

     (2)删除最后一个元素    通过数组元素的内容进行移除--[a1 removeObject:@"delaiesi"];   通过数组元素的下标进行对象移除-- [a1 removeObjectAtIndex:3];

      (3)交换元素位置  [a1 exchangeObjectAtIndex:1 withObjectAtIndex:4];

  • 相关阅读:
    Android入门第六篇之ListView (一)
    STL 二分查找三兄弟(lower_bound(),upper_bound(),binary_search())
    fastjson 之常见的数据类型与json的相互转换
    Jetty:配置安全
    xml文件格式例如以下
    《编程珠玑》---笔记。浏览此文,一窥此书。
    【Github教程】史上最全github用法:github入门到精通
    SSL连接建立过程分析(1)
    ant 安装
    GMM的EM算法实现
  • 原文地址:https://www.cnblogs.com/ytmaylover/p/5049190.html
Copyright © 2011-2022 走看看