第07天OC语言(18):NSMutalbleString练习

  • 不要等到明天,明天太遥远,今天就行动。

#####须读:看完该文章你能做什么?

NSString、NSMutalbleString的应用场景

#####学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)

NSString、NSMutalbleString的基本使用


#####一、本章笔记

 一、可变字符串 和 不可变字符串的使用场景
    如果在一个字符串里面需要进行频繁的操作
    不可变字符串 会频繁的生成多个对象
    可变字符串 不会频繁的生成多个对象 始终都是操作之前的对象

#####二、code ######main.m

#pragma mark 18-NSMutalbleString练习
#pragma mark - 代码
#import <Foundation/Foundation.h>
#pragma mark 类

#pragma mark - main函数
int main(int argc, const char * argv[])
{
    /*
     需求: 将3个520lyh拼接在一起,中间用空格隔开
     520lyh 520lyh 520lyh
     */
    
    
    NSString *subStr = @"520lyh";
//    NSString *newStr = [subStr stringByAppendingString:@" "];
//    newStr = [newStr stringByAppendingString:subStr];
//    newStr = [newStr stringByAppendingString:@" "];
//    newStr = [newStr stringByAppendingString:subStr];
//    NSLog(@"newStr = |%@|",newStr);
//    NSString *newStr = nil;

#pragma 1.使用不可变字符串来处理 (会生成多个对象)
#warning 注意 : 在开发中如果需要对字符串进行频繁的操作, 不要使用不可变的字符串
    /*
    NSString *newStr = [subStr stringByAppendingString:@" "];
    for (int i = 0; i < 2; ++i) {
        newStr = [newStr stringByAppendingString:subStr];
        newStr = [newStr stringByAppendingString:@" "];
    }
//    newStr = [newStr stringByReplacingCharactersInRange:NSMakeRange(newStr.length - 1, 1) withString:@""];
    newStr = [newStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    
    NSLog(@"newStr = |%@|",newStr);
     */
#pragma 2.使用可变字符串来处理
    NSMutableString *strM = [NSMutableString string];
    for (int i = 0; i < 3; ++i) {
        // 1.添加一个520it
        [strM appendString:subStr];
        // 2.添加一个空格
        [strM appendString:@" "];
    }
    [strM deleteCharactersInRange:NSMakeRange(strM.length - 1, 1)];
    
    NSLog(@"strM = |%@|",strM);

    return 0;
}

转载于:https://my.oschina.net/u/3561184/blog/1476284

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值