您的位置:首页 > 产品设计 > UI/UE

NSString/NSMutableString/NSNumber/NSValue

2015-08-19 23:11 543 查看
// NSString 不可变字符串
        // 1.创建字符串
        // 1>.初始化方法
        NSString *str1 = @"hello";
        NSString *str = [[NSString alloc] initWithFormat:@"%@-word",str1];
        NSLog(@"%@",str);
        // 2>.便利构造器方法
        NSString *str2 = [NSString stringWithFormat:@"%@-word- %@",str1,@"just do it"];
        NSLog(@"%@",str2);
        
        // 2.字符串长度
        NSUInteger length = [str length];
        NSLog(@"%lu %lu",length,[str2 length]);
        
        // 3.将C语言的字符串转化为OC的字符串对象
        char cstr[] = "iPhone";
        NSString *ocstr = [NSString stringWithUTF8String:cstr];
        NSLog(@"%@",ocstr);
        
        // 4.判断该字符串是否以XX开头或者以XX结尾
        NSString *address = @"www.baidu.com";
        BOOL isStart = [address hasPrefix:@"www"];
        BOOL isEnd = [address hasSuffix:@" om"];
        NSLog(@"%d %d",isStart,isEnd);
        
        // 5.获取字符串范围
        // NSRange 结构体
        // location :字符串所在位置
        // length: 字符串的长度
        // NSStringFromRange(NSRange); 将NSRange结构体变量转换成对象,可以直接用 %@输出
        NSRange range = [address rangeOfString:@"bai"];
        NSLog(@"%@",NSStringFromRange(range));
        NSLog(@"%lu %lu",range.location,range.length);
        
        // 6.获取字符串
        // substringFromIndex 得到的字串包含所给的下标对应的字符(从下标开始)
        NSString *substr1 = [address substringFromIndex:3];
        NSLog(@"%@",substr1);
        // substringToIndex 得到的字串不包含所给的下标对应的字符(到下标之前)
        NSString *substr2 = [address substringToIndex:3];
        NSLog(@"%@",substr2);
        NSString *substr3 = [address substringWithRange:NSMakeRange(4, 3)];
        NSLog(@"%@",substr3);
        
        // 7.字符串字母大小写转换
        // 1>.全部转大写
        NSString *upStr = [address uppercaseString];
        NSLog(@"%@",upStr);
        // 2>.全部转小写
        NSString *lowerstr = [upStr lowercaseString];
        NSLog(@"%@",lowerstr);
        // 3>.单词首字母大写
        NSString *capitalStr = [address capitalizedString];
        NSLog(@"%@",capitalStr);
        
        // 8.字符串拼接
        // 1>
        NSString *appendStr1 = [NSString stringWithFormat:@"i love%@",@" you"];
        NSLog(@"%@",appendStr1);
        // 2>
        NSString *string = [NSString stringWithFormat:@"i love"];
        NSString *appendStr2 = [string stringByAppendingString:@" you"];
        NSLog(@"%@",appendStr2);
        
        // 9.字符串替换
        // stringByReplacingOccurrencesOfString:(NSString *) withString:(NSString *);首先在给定的字符串中查找方法中的第一个参数里的字符串,如果找到,将其替换成第二给参数给定的字符串,找到多个,全部替换,找不到,不进行替换
        NSString *replaceStr1 = [appendStr2 stringByReplacingOccurrencesOfString:@"o" withString:@"*"];
        NSLog(@"%@",replaceStr1);
        NSString *replaceStr2 = [appendStr2 stringByReplacingOccurrencesOfString:@"love" withString:@"hate"];
        NSLog(@"%@",replaceStr2);
        
        // 10.字符串比较
        NSString *compareStr1 = [NSString stringWithFormat:@"aaa"];
        BOOL isEqual = [compareStr1 isEqualToString:@"aa"];
        NSLog(@"%d",isEqual);
        
        // NSMutableString 可变字符串,可以修改其本身
        // 1.创建NSMutableString
        // 1>.初始化
        NSMutableString *mStr1 = [[NSMutableStrin
4000
g alloc] initWithFormat:@"NSMutableString"];
        NSLog(@"%@",mStr1);
        // 2>.便利构造器
        NSMutableString *mStr2 = [NSMutableString stringWithFormat:@"NSMutableString"];
        NSLog(@"%@",mStr2);
        
        // 2.插入字符串
        [mStr1 insertString:@"插入" atIndex:5];
        NSLog(@"%@",mStr1);
        
        // 3.删除字符串
        // 从下标为location的位置开始删除length长度个字符
        [mStr1 deleteCharactersInRange:NSMakeRange(5, 2)];
        NSLog(@"%@",mStr1);
         
        // 4.拼接字符串
        // 在字符串最后粘贴上
        [mStr1 appendString:@"111"];
        NSLog(@"%@",mStr1);

        // NSNumber 数值对象,完成数值标量与对象类型的互转.
        int a = 10;
        NSLog(@"%d",a);
        // 将int类型转换为NSNumer对象类型
        NSNumber *objInt = [NSNumber numberWithInt:a];
        NSLog(@"%@",objInt);
        [NSNumber numberWithInteger:a];
        NSLog(@"%@",objInt);
        // 将NSNumber对象转回原数值类型
        int value = [objInt intValue];
        NSLog(@"%d",++value);
        
        // NSValue 完成标量到对象类型的互转(结构体,指针)
        NSValue *value2 = [NSValue valueWithRange:NSMakeRange(10, 20)];
        NSLog(@"%@",value2);
        
        // 将自定义的结构体转化成NSValue对象
        Stu stu1 = {"zhangsan",'m'};
        // 参数1:获取要转化成对象的结构体变量的地址.
        // 参数2:按照对应的结构体类型进行对象的转化.
        NSValue *value3 = [NSValue valueWithBytes:&stu1 objCType:@encode(Stu)];
        NSLog(@"%@",value3);
        // 把NSValue对象转回自定义结构体类型
        Stu stu2;
        [value3 getValue:&stu2];
        NSLog(@"%s %c",stu2.name,stu2.gender);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: