A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© duzhong 中级黑马   /  2014-10-18 00:51  /  1094 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[size=14.285715103149414px]NSString提供了许多创建和初始化新字符串的方法。下面这个是创建常量字符串的。 它是编译到可执行文件中的NSString的实例,它不会在内存中消失。例子:

[size=14.285715103149414px]1、创建常量字符串。

[size=14.285715103149414px]NSString *astring = @"我是字符串";

[size=14.285715103149414px]2、NSString的内存地址

当我们声明一个字符串时,NSString *aString;
变量aString并不是真正包含一个字符串对象,它是指向内存中字符串对象的指针,我们称之为对象标识符,因为它是表示内存中的一个对象而不是保存这个对象,指针是一个内存位置的地址,下面考虑用“==”来比较字符串,来看个例子

[size=14.285715103149414px]        NSString *string1 = @"我是落下长歌";

[size=14.285715103149414px]        NSString *string2 = @"我是落下长风";

[size=14.285715103149414px]        BOOL result = string1==string2;

[size=14.285715103149414px]        if(result){

[size=14.285715103149414px]            NSLog(@"address:%p", string1);

[size=14.285715103149414px]            NSLog(@"address:%p", string2);

[size=14.285715103149414px]        }

[size=14.285715103149414px]运行打印结果:

[size=14.285715103149414px]2012-07-30 09:36:41.337 objectiveC[613:403] yiyang:0x10485b478

[size=14.285715103149414px]2012-07-30 09:36:41.339 objectiveC[613:403] yiyang:0x10485b478

[size=14.285715103149414px]说明result的值是YES,这里对比的是内存地址,@"我是落下长歌"存储在文字常量区,string1和string2都指向这个字符串,所以指向的是同一个地址。


[size=14.285715103149414px]3、NSString的基本使用
        //组合字符串

[size=14.285715103149414px]        NSString *myString9 = [myString1 stringByAppendingString:myString7];
        NSLog(@"myString9 = %@,myString1 = %@,myString7 = %@",myString9,myString1,myString7);
        NSString *myString10 = [myString1 stringByAppendingFormat:myString7];
        NSLog(@"myString10 = %@,myString1 = %@,myString7 = %@",myString10,myString1,myString7);

[size=14.285715103149414px]
4、NSString与char*的比较

        NSString 与 char* 最大的区别就是 NSString是一个objective对象,而char* 是一个字节数组。@+ " 字符串 " 这个符号为objective-c NSString 字符串常量的标准用法,char* 创建的时候 无需添加@



[size=14.285715103149414px]求加技术分,打字也不易啊


评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

1 个回复

倒序浏览
go home................
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马