永发信息网

stringWithFormat和stringWithString有什么区别

答案:1  悬赏:40  手机版
解决时间 2021-01-23 05:15
求解啊!
最佳答案
初始化字符串,方法1(快速初始化)
NSString *string0 =@"niahoma";
NSString *string1 =@"niahoma";

//注意:上面的string0 和string1 是指针和内容都 相等 的。

if(string0 == string1){
NSLog(@"string0和string1是指针和内容都是相等的");
}else{
NSLog(@"string0和string1是指针和内容都是bu相等的");
}

//初始化字符串,方法2
NSString *string2 = [NSString stringWithString:string1];
if(string1 == string2){
NSLog(@"string1和string2是指针和内容都是相等的");
}else{
NSLog(@"string1和string2是指针和内容都是bu相等的");
}
///注意:
// stringWithString 是通过浅拷贝的方式得到字符串string2的,浅拷贝只拷贝指针不拷贝对象,所以其指针是相等的,内容也相等。

// 不可变字符串初始化方法[NSString stringWithString:@“asdf”];已经过时了,在新的Xcode中已经不可用。@“”部分已经改为NSString对象,但是在可变数组中是可用的,如:[NSMutableString stringWithString:@"nihao"];是可行的。

// NSString *string2 = [NSString stringWithString:@"ahdo"];词句在最新的Xcode中已经不可用。

//初始化字符串,方法3

NSString *string3 = [NSString stringWithFormat:@"nihao%@,也可以写中文%d",@"hah",45];
//stringWithFormat可以格式化输入字符串,便于将其他类型转化为字符串类型。
//在下面的初始化字符串中,string4和string5的指针是 不相等 的。

NSString *string4 = [NSString stringWithFormat:@"nihaohah也可以写中文45"];
NSString *string5 = [NSString stringWithFormat:@"nihaohah也可以写中文45"];
if(string4 == string5){
NSLog(@"string4和string5是指针和内容都是相等的");
}else{
NSLog(@"string4和string5是指针和内容都是bu相等的");
}

//在OC中stringWithFormat会新申请一片空间并初始化字符串,所以每一个用stringWithFormat方法得到的字符串其指针都是不相同的;
//而stringWithString是通过浅拷贝的方式得到字符串的,浅拷贝只拷贝指针不拷贝对象,所以其指针是相等的,内容也相等;
//快速初始化是首先根据一定的方法(此方法和NSSet(集合)中的存放对象的方法一样都是hash算法)在内存中查找是否已经存在了这样的一个对象,若是存在则放回此对象的指针,若不存在,则根据一定的方法找到一片内存空间存放对象,并返回指针。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
下列违背价值规律的是CA. 生产高速列车的所耗
衣领分为几种
优衣库(凯德晶品购物中心店)地址在什么地方,
单选题日出或日暮时分,太阳看起来呈红色,周
读“中国地势阶梯状分布图”,回答下列问题.
MassimoDutti(荟聚西红门店)地址在什么地方,
佳木斯雷达专卖店(百货大楼)地址在哪,我要
移动30元流量加油包发送多少
读图赏析,想一想。
我想知道中国的法律规定了那些生命权?
MiuMiu(太古里店)地址在什么地方,想过去办事
佳木斯市亨得利名表服务中心地址有知道的么?
佳木斯泰格豪雅专卖店(佳木斯百货大楼)地址
Gucci(国贸商城店)地址在什么地方,想过去办
阅读理解Peopleusemoneytobuyfood,booksand
推荐资讯
“韩信点兵”问题:韩信在一次点兵的时候,为
无线网卡有没有天线好呢?
某高三学生参加区人大代表的选举时,社区领导
我是开早餐店的,想问一下商用豆浆机打出的豆
如何认识悲剧与戏剧的转化的作文
开头你对我的挽留说唱歌词名字叫什么
西藏日喀则市人民医院-消毒供应室地址在什么
y=|1- x的平方| /(1+|x|),画函数图象
单选题当太阳直射南回归线时,北京(40°N)
水塘村怎么去啊,我要去那办事
一个女孩听遇这首歌的意思
黑裤子抽丝起球怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?