黑马程序员技术交流社区
标题: 入学测试的一道题,请路过大神解答 [打印本页]
作者: welfarezhang 时间: 2015-6-5 09:23
标题: 入学测试的一道题,请路过大神解答
现有如下定义的字符串: NSString * str=@“iphoneAndroid”,能不能对该字符串进行修改,如果能,请输出删除Android后的新字符串。(Objective-C)
按照MJ老师视频上讲的,NSString是不可变字符串,NSMutableString是可变字符串,所以上面的答案是不能,可这是一道编程题,难道就回答一句“不能”??这不符合常理啊,求解答。
作者: yuang4074 时间: 2015-6-5 10:23
#import<Foundation/Foundation.h>
int main() {
//创建不可变的字符串
NSString *str = @"iphoneAndroid";
NSLog(@"原字符串str的内容:%@",str);
//创建临时可变字符串
NSMutableString *mutstr = str.mutableCopy;//对str深复制
NSRange r = NSMakeRange(6, 7);//截取Android,创建一个范围
[mutstr deleteCharactersInRange:r];//将指定范围删除
NSLog(@"利用NSMutableString修改后的临时字符串:%@",mutstr);
//赋给原字符串
str = mutstr;
NSLog(@"最终字符串str的内容:%@",str);
return 0;
}
作者: welfarezhang 时间: 2015-6-5 11:04
帅哥,你这个代码运行成功了吗
作者: yuang4074 时间: 2015-6-5 11:19
嗯,考试不要抄袭哦
作者: 小龙女的萝卜 时间: 2015-6-5 11:30
围观学习了 ,
作者: welfarezhang 时间: 2015-6-5 12:25
不会的,我会把它变为自己的东西,感谢你的分享
作者: aofex 时间: 2015-6-5 16:26
啊 学习一下
作者: talent123 时间: 2015-6-7 19:12
本帖最后由 talent123 于 2015-6-7 19:14 编辑
我去????这就删除了????这什么原理...不可变字符串也能被赋值吗?
作者: 宋兴1228 时间: 2015-6-7 21:17
学习一下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |