1.两个框架 Foundation Application(UIKit),
Foundation主要定义了一些基础类 框架中所有类都继承NSObjiect这个对象
Application 主要是用于一些用户界面设计的类,用于Mac开发使用此库
2.数字对象的创建于转换
创建:
char character='a';
NSNumber *cNumber=[[NSNumber alloc]initWithChar:character];
转换:
char firstName=[cNumber charValue];
int bool float char
NSNumber 可以包装基本数据类型 而NSValue 可以包装任意值 如结构体和指针 列如OC结构体NSRange
NSValue *pointValue=[NSValue value:&p withObjectType:@encode(struct WXPonint)];
3.字符串的两种快速创建法:
格式化的:堆区
NSString *string=[[NSString alloc]initWithFormat:@"%d",2]; // format可以进行拼接
||NSString *string=[[NSString alloc]initWithFormat:@"a"]; format可以用数值 string 会警告
||NSString *string=[NSString initWithFormat:@"一般方法创建"];
一般的:常量区 可变的又不是在常量区 数值相同的变量地址相同
NSString *string=[[NSString alloc]initWithString:@"这是一个字符"];
||NSString *string=[NSString stringWithString:@"类方法创建"]; //以类名开头
4.比较字符串内容是否相同
[string1 isEqualToString:string2] 返回bool型值
5.测试字符串是否为同一个对象
if(string1==string2) NSString *str1=@"abc"; NSString *str2=@"abc"; 地址相同 常量区相同 堆区不相同 指针在栈取
6.比较字符串的先后顺序
[string1 caseInsensitiveCompare:string2]; 返回NSComparisonResult型值
7.求字符串的长度
[string length];
8.改变字符串的大小写
[string uppercaseString];//全部大写
[string lowercaseString];全部小写
[string capitalizedString];首字母大写,其他字母变小写
9.字符串转换成基本数据类型
[string boolValue]; 其余类似
10.将字符串转换为数组
NSArray *array=[string componentsSeparatedByString:@" "];以空格符为一
11.字符串的截取 可遍历输出
[string substringToIndex:2];截取到指定的位置 包括该位置的字符 从1开始
[string substringFromIndex:2]; 从指定位置开始 不包括指定位置的字符并包括之后的全部字符
NSRange rang;
range.location=2;
range.length=2;
[string substringWithRange:rang] 截取范围 不包含指定位置
12.字符串的拼接
[[NSString alloc]initWithFormat:@"%@%@",str1,str2];
[str1 StringByAppendingFormat:@"%@",str2];
[str1 stringByAppendingString:str2];
13.查询字符串 返回一个范围型的值
NSRange range=[str1 rangeOfString:@"GCF"];
if(range.location!=NSNotFound){}
14.比较字符串
(1)、
NSComparisonResult result1=[string1 compare:@"hello"];
区分大小写
[string1 compare:@"hello" options:NSLiteralSearch];
不区分大小写
[string1 compare:@"hello" option:NSCaseInsensitiveSearch range:NSMakeRange(0,5)];
15.可变字符串:NSMutableString
可变字符串继承了不可变字符串的所有方法
NSMutableString *str=[NSMutableString stringWithString:@"字符串"];
创建方法错误:NSMutableString *str=@"abc";
(1)、插入字符串
[str insertString:@"可变" atIndex:0];
(2)、删除字符串
[str deleteCharactersInRange:NSMakeRange(1,2)];
(3)、替换字符串
[str replaceCharactersInRange:NSMakeRange(0,2) withString:@"羊肉"];
注:不可变字符的话 是要返回一个NSString的 这是新建的 原本的是不会改变的 可变的话就不返回了 直接修改原本的NSString 方法都是VOID
=======================================================
字符串这两个非常重要:
4.比较字符串内容是否相同
[string1 isEqualToString:string2] 返回bool型值
5.测试字符串是否为同一个对象
if(string1==string2)
补充:
访问指定位置的字符:
[str characterAtIndex:i]; 返回一个unichar的字符
[str1 appendFormat:@"%c",c]; 不返回值的添加字符 可变属数组
[str2 stringByAppendingFormat:@"%c",c]; 返回一个型的数组 不可变数组
Foundation主要定义了一些基础类 框架中所有类都继承NSObjiect这个对象
Application 主要是用于一些用户界面设计的类,用于Mac开发使用此库
2.数字对象的创建于转换
创建:
char character='a';
NSNumber *cNumber=[[NSNumber alloc]initWithChar:character];
转换:
char firstName=[cNumber charValue];
int bool float char
NSNumber 可以包装基本数据类型 而NSValue 可以包装任意值 如结构体和指针 列如OC结构体NSRange
NSValue *pointValue=[NSValue value:&p withObjectType:@encode(struct WXPonint)];
3.字符串的两种快速创建法:
格式化的:堆区
NSString *string=[[NSString alloc]initWithFormat:@"%d",2]; // format可以进行拼接
||NSString *string=[[NSString alloc]initWithFormat:@"a"]; format可以用数值 string 会警告
||NSString *string=[NSString initWithFormat:@"一般方法创建"];
一般的:常量区 可变的又不是在常量区 数值相同的变量地址相同
NSString *string=[[NSString alloc]initWithString:@"这是一个字符"];
||NSString *string=[NSString stringWithString:@"类方法创建"]; //以类名开头
4.比较字符串内容是否相同
[string1 isEqualToString:string2] 返回bool型值
5.测试字符串是否为同一个对象
if(string1==string2) NSString *str1=@"abc"; NSString *str2=@"abc"; 地址相同 常量区相同 堆区不相同 指针在栈取
6.比较字符串的先后顺序
[string1 caseInsensitiveCompare:string2]; 返回NSComparisonResult型值
7.求字符串的长度
[string length];
8.改变字符串的大小写
[string uppercaseString];//全部大写
[string lowercaseString];全部小写
[string capitalizedString];首字母大写,其他字母变小写
9.字符串转换成基本数据类型
[string boolValue]; 其余类似
10.将字符串转换为数组
NSArray *array=[string componentsSeparatedByString:@" "];以空格符为一
11.字符串的截取 可遍历输出
[string substringToIndex:2];截取到指定的位置 包括该位置的字符 从1开始
[string substringFromIndex:2]; 从指定位置开始 不包括指定位置的字符并包括之后的全部字符
NSRange rang;
range.location=2;
range.length=2;
[string substringWithRange:rang] 截取范围 不包含指定位置
12.字符串的拼接
[[NSString alloc]initWithFormat:@"%@%@",str1,str2];
[str1 StringByAppendingFormat:@"%@",str2];
[str1 stringByAppendingString:str2];
13.查询字符串 返回一个范围型的值
NSRange range=[str1 rangeOfString:@"GCF"];
if(range.location!=NSNotFound){}
14.比较字符串
(1)、
NSComparisonResult result1=[string1 compare:@"hello"];
区分大小写
[string1 compare:@"hello" options:NSLiteralSearch];
不区分大小写
[string1 compare:@"hello" option:NSCaseInsensitiveSearch range:NSMakeRange(0,5)];
15.可变字符串:NSMutableString
可变字符串继承了不可变字符串的所有方法
NSMutableString *str=[NSMutableString stringWithString:@"字符串"];
创建方法错误:NSMutableString *str=@"abc";
(1)、插入字符串
[str insertString:@"可变" atIndex:0];
(2)、删除字符串
[str deleteCharactersInRange:NSMakeRange(1,2)];
(3)、替换字符串
[str replaceCharactersInRange:NSMakeRange(0,2) withString:@"羊肉"];
注:不可变字符的话 是要返回一个NSString的 这是新建的 原本的是不会改变的 可变的话就不返回了 直接修改原本的NSString 方法都是VOID
=======================================================
字符串这两个非常重要:
4.比较字符串内容是否相同
[string1 isEqualToString:string2] 返回bool型值
5.测试字符串是否为同一个对象
if(string1==string2)
补充:
访问指定位置的字符:
[str characterAtIndex:i]; 返回一个unichar的字符
[str1 appendFormat:@"%c",c]; 不返回值的添加字符 可变属数组
[str2 stringByAppendingFormat:@"%c",c]; 返回一个型的数组 不可变数组