iOS开发之 面向对象的三大特征以及字符串的处理

一、面向对象的三大特征

1⃣️、OC是一门面向对象的语言,面向对象的三大特征: 封装. 继承. 多态.

 1.封装 : 把具体的对象 抽象化 把相同类型的对象抽象成一个类

       封装的好处:a.可以提升代码的复用性(重复使用性)

                         b.变量的安全性

                         c.提高代码的可读性

2.继承 :子类拥有父类的全部属性和方法

      子类:就是继承的类

      父类丶超级类:就是被继承的类

子类独有的 父类不能使用 子类 可以扩展 父类的 方法和属性 同时也可以添加变量

    拓展:OC里面有没有多继承?  没有 但是可以多级继承

3.多态 : 一个事物的多样性  一个事物 同一个方法表现出不同的状态

如果父类拥有的方法 子类不希望使用那种方式 可以重写这个方法


二、字符串的处理

1⃣️、字符串 可变字符串

NSString *string = [[NSString alloc]init];

        NSString *string1 = [NSString string];

        NSString *string2 = [[NSString alloc]initWithString:string1];

        NSString *string3 = @"...";

        

//        给字符串赋值

        string = @“11111";

2⃣️、字符串的处理

1.字符串的 格式化处理(格式化字符串)

        int age = 20;

        NSString *name = @"陈真";

        NSString *info = [NSString stringWithFormat:@"%@今年%d",name,age];  这个也成为字符串的拼接 stringWithFormat

        NSLog(@"%@",info);

2.截取 字符串

//        a.从哪个位置 开始截取字符串

//        index 不是下标,所以不是从0开始

        NSString *newString = [info substringFromIndex:2];

        NSLog(@"%@",newString);

        

        NSString *message = @"锄禾日当午,汗滴禾下土,。。。";

        NSString *newMessage = [message substringFromIndex:12 ];

        NSLog(@"%@",newMessage);

//        b.截取字符串到哪个位置

        NSString *newMessage1 = [message substringToIndex:12];

        NSLog(@"%@",newMessage1);

//        NSLog(@"%@",[message substringToIndex:12]);

        

        NSLog(@"%@",[message substringToIndex:5]);

        

//        c.从哪儿到哪儿

//        (1)

        NSLog(@"%@",[message substringWithRange:NSMakeRange(6, 5)]);

//        (2)

        NSRange range;

//        定义range结构体的位置

        range.location = 6;

//        在这个位置的基础之上 继续数几个长度

        range.length = 5;

        NSLog(@"%@",[message substringWithRange:range]);



3、把字符串 通过指定字符 分割成数组

NSArray *messageList = [message componentsSeparatedByString:@","];

        for (NSString *obj in messageList ) {

            NSLog(@"%@",obj);

        }

        

        

        NSString *result = @"武松打虎duang!duang!duang! 老虎跑下山 ya~ya~ya~";

        NSArray *result1 = [result componentsSeparatedByString:@" "];

        NSLog(@"%@",result1[1]);

把所有的英文字母 转成大写,小写,或者首字母大写

 NSString *str = @"bRuce";

        NSLog(@“%@",str.uppercaseString);

        NSLog(@“%@",str.lowercaseString);

        NSLog(@“%@",str.capitalizedString);

拼接字符串

   1.stringWithFormat

        NSString *ss = @"杨鹏飞是";

        NSString *ss2 = @"煞笔吗";

        NSString *all = [ss stringByAppendingString:ss2];

        NSLog(@"%@",all);

        NSString *all1 = [ss stringByAppendingFormat:@"%@不止一天两天了",ss2];

        NSLog(@“%@",all1);

.判断字符串 是否包含某个字符串

NSString *sss = @"上山打老虎跑了";

        NSRange range119 = [sss rangeOfString:@"老虎"];

//        range119.location != NSNotFound

        if (range119.location != NSNotFound) {

            NSLog(@"%@",sss);

        }else{

            NSLog(@"骗人~~~~");

        }

字符串 以什么开始(字符串的头部包含什么内容

        if ([sss hasPrefix:@"上山"]!= NO) {

            NSLog(@"存在");

        }else{

            NSLog(@"error!");

        }

字符串 以什么结束(字符串的尾部包含什么内容)

if ([sss hasSuffix:@"跑了" ]!= NO) {

            NSLog(@"存在");

        }else{

            NSLog(@"error!");

        }        



4、可变字符串

NSMutableString *name11 = [[NSMutableString alloc]initWithString:@"bruce"];

        NSRange range110;

        range110.location = 1;

        range110.length = 4;

//        把指定位置的字符串 替换成另一个字符串

        [name11 replaceCharactersInRange:range110 withString:@"luce"];

        NSLog(@"%@",name11);

        

        NSMutableString *ssss = [NSMutableString stringWithString:@"我是一名程序员"];

        [ssss replaceCharactersInRange:NSMakeRange(4,3) withString:@"医生"];

        

        NSLog(@"%@",ssss);

        NSRange rrr;

        rrr.location = 4;

        rrr.length = 3;

        [ssss replaceCharactersInRange:rrr withString:@"医生"];

        NSLog(@“%@",ssss);

//        删除指定位置长度的字符串

        NSRange rrr1;

        rrr1.location = 0;

        rrr1.length = 4;

        [ssss deleteCharactersInRange:rrr1];

        NSLog(@"%@",ssss);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值