- 不要等到明天,明天太遥远,今天就行动。
须读:看完该文章你能做什么?
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;
}