设为首页 加入收藏

TOP

[Objective-C]OC中字符串(NSString)的基本概念和常用处理方法(一)
2014-11-23 17:55:20 来源: 作者: 【 】 浏览:15
Tags:Objective-C 字符串 NSString 基本 概念 常用 处理 方法

在Foundation框架中,提供了NNString类,用于处理字符串对象。在C语言中字符串在一对引号中表示。

OC是C语言的一种延展,换句话说,OC语言是建立在C语言的基础之上(C的基础之上添加了面向对象的内容,smalltalk语言)。

因此,为了区别两者的字符串,OC语言的字符串必须以@开头,引号当中则是字符串的内容,如@”abc“.此外,NSString对象,

一旦被创建,就不可以在进行修改。如若需要一个可以更改的字符串对象,需要创建NSMutableString实例。

1:下面是一些创建字符串的方法:

//创建一个字符串常量

        NSString *string1=@"这个一个字符串常量";
        //创建一个空的字符串
        NSString *string2=[[NSString alloc]init];
        NSString *string3=[NSString string];
        //快速创建一个字符串
        NSString *string4=[[NSString alloc]initWithString:@"快速创建一个字符串"];
        NSString *string5=[NSString stringWithString:@"快速创建一个字符串"];
        //快速创建一个格式化字符串
        int number=2;
        NSString *string6=[[NSString alloc]initWithFormat:@"%d",number];
        NSString *string7=[NSString stringWithFormat:@"%d",number];

2:比较字符串的内容是否相同

NSString *string6=[[NSString alloc]initWithFormat:@"%d",number];
        NSString *string7=[NSString stringWithFormat:@"%d",number];
        NSLog(@"%@,%@,%@,%@,%@,%@,%@",string1,string2,string3,string4,string5,string6,string7);
        //比较两个字符串是否相等
        if([string6 isEqualToString:string7]){
            NSLog(@"相同内容");
        }else{
            NSLog(@"不同内容");
        }

3:比较两个字符串是否为同一个对象

//比较两个字符串是否是同一个对象
        NSString *string8=[NSString stringWithString:@"123"];
        NSString *string9=[NSString stringWithString:@"123"];
        if([string8 isEqualToString:string9]){
            NSLog(@"相同内容");
        }else{
            NSLog(@"不同内容");
        }
        if(string8==string9){
            NSLog(@"同一个对象");
        }else{
            NSLog(@"不同对象");
        }

4:比较字符串的大小

 //比较字符串的大小
        NSString *string10=[[NSString alloc]initWithString:@"a"];
        NSString *string11=[[NSString alloc]initWithString:@"b"];
        NSComparisonResult result=[string10 caseInsensitiveCompare:string11];
        NSLog(@"%ld",result); //-1表示升序

5:创建字符串还有如下一些常用的方法:

- (id)init;
- (id)initWithCharactersNoCopy:(unichar *)characters length:(NSUInteger)length freeWhenDone:(BOOL)freeBuffer; /* "NoCopy" is a hint */
- (id)initWithCharacters:(const unichar *)characters length:(NSUInteger)length;
- (id)initWithUTF8String:(const char *)nullTerminatedCString;
- (id)initWithString:(NSString *)aString;
- (id)initWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
- (id)initWithFormat:(NSString *)format arguments:(va_list)argList NS_FORMAT_FUNCTION(1,0);
- (id)initWithFormat:(NSString *)format locale:(id)locale, ... NS_FORMAT_FUNCTION(1,3);
- (id)initWithFormat:(NSString *)format locale:(id)locale arguments:(va_list)argList NS_FORMAT_FUNCTION(1,0);
- (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding;
- (id)initWithBytes:(const void *)bytes length:(NSUInteger)len encoding:(NSStringEncoding)encoding;
- (id)initWithBytesNoCopy:(void *)bytes length:(NSUInteger)len encoding:(NSStringEncoding)encoding freeWhenDone:(BOOL)freeBuffer; /* "NoCopy" is a hint */

+ (id)string;
+ (id)stringWithString:(NSString *)string;
+ (id)stringWithCharacters:(const unichar *)characters length:(NSUInteger)length;
+ (id)stringWithUTF8String:(const char *)nullTerminatedCString;
+ (id)stringWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
+ (id)localizedStringWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);

- (id)initWithCString:(const char *)nullTerminatedCString encoding:(NSStringEncoding)enco
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇[Objective-C]OC中引用计数和对象.. 下一篇[Objective-C]OC中可变字符串(NSM..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: