oc随笔四:NSString、NSNumber

本文介绍了Objective-C中的基础数据类型 NSNumber 的使用方法,包括创建不同类型的数字对象及其转换方式,并详细讲解了 NSString 字符串对象的创建、操作及各种实用方法。
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
//        NSNumber 数字对象:
//        NSNumber格式和NSString创建类似,只是后面的初始化函数要有针对性,这是框架里面内置的
        NSNumber *intNumber = [[NSNumber alloc] initWithInt:18];
        NSNumber *floatNumber = [[NSNumber alloc] initWithFloat:18.22];
        NSLog(@"%@",intNumber);
        NSLog(@"%@",floatNumber);
//        也可以把数字对象转换成基本数值型,intvalue这些也是内置的方法
        int int1 = [intNumber intValue];
        float float1 = [floatNumber floatValue];
        NSLog(@"%d",int1);
        NSLog(@"%1.f",float1);
        
//        NSString 字符串对象:
//        创建字符串常量对象
        NSString *str1 = @"hello augus";
//        创建空字符串对象
        NSString *str2 = [[NSString alloc] init];
        NSString *str3 = [NSString string];
        NSLog(@"%@",str3);
//        快速创建一个字符串对象
//        NSString *str4 = [[NSString alloc] initWithString:@"andy"];
//        NSString *str5 = [NSString stringWithString:@"tom"];
//        创建格式化的字符串对象
        NSString *str6 = [[NSString alloc] initWithFormat:@"%d",10];
        NSString *str7 = [NSString stringWithFormat:@"%.1f",10.8];
        NSLog(@"%@,%@",str6,str7);
//        比较两个参数的内容值是否相同
        if ([str1 isEqualToString:str2]) {
            NSLog(@"相等");
        }
//        判断两个对象变量是否是同一个,即指向同一个地址
        if (str1 == str2) {
            NSLog(@"相同");
        }
//        比较大小
        if ([str1 caseInsensitiveCompare:str2]) {
            NSLog(@"%@",str1);
        }
//        字符串长度
        NSLog(@"%ld",[str1 length]);
//        字符串大写、小写、首字母大写
        NSLog(@"%@",[str1 uppercaseString]);
        NSLog(@"%@",[str1 lowercaseString]);
        NSLog(@"%@",[str1 capitalizedString]);
//        分割成数组,以空格分隔
        NSArray *arr = [str1 componentsSeparatedByString:@" "];
        NSUInteger count = [arr count];
        NSLog(@"%ld",count);
        for (int i=0; i<count; i++) {
            NSString * arrObj = [arr objectAtIndex:i];
            NSLog(@"%@-",arrObj);
        }
//        剪切字符串,从开始到2(不包含2);从2开始(包含2)到最后
        NSString * str8 = [str1 substringToIndex:2];
        NSString * str9 = [str1 substringFromIndex:2];
        NSLog(@"%@------%@",str8,str9);
//        从什么范围开始剪切,和下面是等价的,range是内置的方法
//        NSRange 是一个结构体,可以用使用NSStringFromRange和NSRangeFromString进行与字符串之间的转换
        NSRange range = {4,3};
        range.location = 4;//可省略
        range.length = 3;//可省略
        NSString *str10 = [str1 substringWithRange:range];
        NSLog(@"%@",str10);
//        把两个字符连接
        NSString *str11 = [str1 stringByAppendingString:str2];
        NSString *str12 = [str1 stringByAppendingFormat:@" %@",str11];
        NSString *str13 = [[NSString alloc] initWithFormat:@"%@ and %@",str1,str2];
        NSRange range1 = [str1 rangeOfString:@"hello"];//在str1中搜索查看hello这个字符串是否存在
        if (range1.location != NSNotFound) {
            NSLog(@"YES");
        }
        NSLog(@"%@----%@------%@-----%@",str11,str12,str13,NSStringFromRange(range1));
//        NSMutableString创建的对象是可变变量,可以增减替换操作
        NSMutableString *mutstring1 = [[NSMutableString alloc] initWithFormat:@"hello"];
        [mutstring1 insertString:@"world" atIndex:5];
        NSLog(@"%@",mutstring1);
        NSRange range2 = {1,3};
        [mutstring1 replaceCharactersInRange:range2 withString:@"eee"];//结构体需要先定义
        NSLog(@"%@",mutstring1);
        [mutstring1 deleteCharactersInRange:range2];
        NSLog(@"%@",mutstring1);
//        字符串判断
        BOOL value1 = [str1 hasPrefix:@"www"];//判断是否以www开头,值为YES或者NO
        BOOL value2 = [str1 hasSuffix:@".png"];//判断以什么结尾
        NSLog(@"%d-----and-----%d",value1,value2);//可以用%d打印出bool值,0和1表示
//        把内容写入到文件的方法wirteToFile, 从文件中读取内容的方法stringWithContentOfFile。这两个方法有个&error参数,如果正常,则error==nil,否则会把错误信息记录到error中
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/mir-augus/p/5086278.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值