NSString 类的常用方法(两个类方法和四个对象方法)

/*

 

 方法一:(类方法)

    C语言的字符串转换为OC字符串对象.

 

    + (nullable instancetype)stringWithUTF8String:(const char *)nullTerminatedCString;

 

  nullable:代表返回的对象可能是nil

 

  如题:

  c字符串转换为oc字符串(创建一个对象,对象的名字要求用户从控制台输入,而用户输入的串只能是c,故而需要转换)

 

 */

#import <Foundation/Foundation.h>


#pragma mark -

#pragma mark 人类的声明和实现

//声明

@interface YYPerson : NSObject

{

@public

    NSString *_name;

    int _age;

    

}


- (void)sayHi;


@end


//实现

@implementation YYPerson


- (void)sayHi

{

    NSLog(@"哈喽,大家好,我叫%@我今年%d岁了", _name, _age);

}


@end


int main(int argc, const char * argv[]) {

    

    //创建对象

    YYPerson *xiaoming = [YYPerson new];

    //赋值属性,姓名要求用户从控制台输入

    //定义一个char数组来接收用户输入

    char name[100] = {0};

    //提示用户输入姓名

    NSLog(@"请输入姓名: ");

    //接收用户输入

    gets(name);

    //将用户输入的c字符串转换为oc字符串

    NSString *name1 = [NSString stringWithUTF8String:name];

    //赋值属性

    xiaoming->_name = name1;

    

    int age = 0;

    NSLog(@"请输入年龄: ");

    scanf("%d", &age);

    xiaoming->_age = 18;

    [xiaoming sayHi];

  

    

    return 0;

}



/*

 方法二:(类方法)

 

将变量拼接成一个新的OC字符串.

 

  + (instancetype)stringWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);


 */

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

  

    NSString *name = @"小明";

    int age = 18;

    

    NSString *sayHi = [NSString stringWithFormat:@"大家好,我叫%@,%d岁了", name, age];

    NSLog(@"%@", sayHi);

   

    return 0;

}



/*

 方法三: (对象方法)

  获取字符串的长度

 

  - (NSUInteger)length;

 

  NSUIntegerunsigned long

 

 

 方法四: (对象方法)

得到制定下标的字符


  - (unichar)characterAtIndex:(NSUInteger)index;

 

 */

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

 

    //获取字符串的长度

    //返回值类型是NSUInteger,使用%lu输出.

    //- (NSUinteger)length;

    NSString *name = @"xiao中国ming";

    //对象方法length的返回值是NSUIntegerunsigned long;

    NSUInteger len = [name length];

    NSLog(@"len = %lu", len);

    

    //得到制定下标的字符

    //返回值类型是unichar使用%C输出

    //- (unichar)characterAtIndex:(NSUInteger)index;

    unichar ch = [name characterAtIndex:4];

    NSLog(@"ch = %C", ch);

    


    return 0;

}


/*

 方法五: (对象方法)

  判断两个字符串的内容是否相等;

 

  - (NSComparisonResult)compare:(NSString *)string;

 

 方法六: (对象方法)

  只判断两个字符串是否相同;

 

  - (BOOL)isEqualToString:(NSString *)aString;

 

 */

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {


    //判断两个字符串的内容是否相同

    //- (NSComparisonResult)compare:(NSString *)string.

    //返回值是一个枚举值

    //NSOrderedAscending:当前字符串比传入的字符串小

    //NSOrderedSame:一样

    //NSOrdereddescending:当前字符串比传入的字符串大

    NSString *str1 = @"jack";

    NSString *str2 = @"jack";

    NSComparisonResult res = [str1 compare:str2];

    switch(res)

    {

        case NSOrderedAscending:

            NSLog(@"当前字符串比传入的字符串小");

            break;

        case NSOrderedSame:

            NSLog(@"一样");

            break;

        case NSOrderedDescending:

            NSLog(@"当前字符串比传入的字符串大");

            break;

    }

    

    //只判断两个字符串是否相同

    //- (BOOL)isEqualToString:(NSString *)aString;

    //返回值是BOOL类型的

    BOOL RES = [str1 isEqualToString:str2];

    if(RES == 0)

    {

        NSLog(@"NO");

    }


    else

    {

        NSLog(@"YES");

    }

    return 0;

}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值