1.NSString
初始化方法
- (NSString *)initWithFormat @"%d,%@.....",a,b;
int a = 1000;
NSString * str1 = [[NSString alloc] initWithFormat:@"zhangsan%d",a];
+ (NSString *)stringWithFormat
- (NSString *)initWithString @"abc"只能是字符串
NSString * str2 = [[NSString alloc] initWithString:@"姓名:%@" ];
NSString *str3 = [[NSString alloc]initWithString:@"lisi"];
NSLog(@"str3 = %p",str3);// str3 = 0x3468 分配在了常量区域,引用计数是一个写死的最大值
NSLog(@"str3 count = %d",[str3 retainCount]);// str3 count = 4294967295 用%d打印出来-1
用NSString的时候是产生一个临时数组,不是在原来的数组里边操作
NSMutaleString 增加删除修改
2.集合(数组,字典,集合)里边只能放对象
数组 NSArray 可以存放多个对象 每个对象使用下标表示 最后nil结束 ,其成员不必要类型一致。成员必须是对象
NSMutableArray
字典NSDictionary 用key和value的的形式存储数据,其对象的存储也是没有顺序的。每一个对象都有一个唯一的key。
NSMutableDictionary
NSSet集合里边的对象不能重复,元素是无序的。数组可以重复 。。。。只要是集合,就自己管理内存,自己加减
3.NSLog(@"%@",对象)就是NSLog(@"%@",【对象 description】) 如果有输出格式方面的要求。可以重写系统的description方法
4.查看API
创建一个对象
根据大标题找到相关方法 【对象 方法】,有返回值的就接受一下
sample code
google
6.initWithString :@“张三”和 nsstring * str = @“张三”都收在常量区,不会开辟空间,引用计数都是一个很大的数,而且他们的地址是一样的。。 用%d ,打印的时候是-1。
初始化方法
- (NSString *)initWithFormat @"%d,%@.....",a,b;
int a = 1000;
NSString * str1 = [[NSString alloc] initWithFormat:@"zhangsan%d",a];
+ (NSString *)stringWithFormat
- (NSString *)initWithString @"abc"只能是字符串
NSString * str2 = [[NSString alloc] initWithString:@"姓名:%@" ];
NSString *str3 = [[NSString alloc]initWithString:@"lisi"];
NSLog(@"str3 = %p",str3);// str3 = 0x3468 分配在了常量区域,引用计数是一个写死的最大值
NSLog(@"str3 count = %d",[str3 retainCount]);// str3 count = 4294967295 用%d打印出来-1
用NSString的时候是产生一个临时数组,不是在原来的数组里边操作
NSMutaleString 增加删除修改
2.集合(数组,字典,集合)里边只能放对象
数组 NSArray 可以存放多个对象 每个对象使用下标表示 最后nil结束 ,其成员不必要类型一致。成员必须是对象
NSMutableArray
字典NSDictionary 用key和value的的形式存储数据,其对象的存储也是没有顺序的。每一个对象都有一个唯一的key。
NSMutableDictionary
NSSet集合里边的对象不能重复,元素是无序的。数组可以重复 。。。。只要是集合,就自己管理内存,自己加减
3.NSLog(@"%@",对象)就是NSLog(@"%@",【对象 description】) 如果有输出格式方面的要求。可以重写系统的description方法
4.查看API
创建一个对象
根据大标题找到相关方法 【对象 方法】,有返回值的就接受一下
sample code
6.initWithString :@“张三”和 nsstring * str = @“张三”都收在常量区,不会开辟空间,引用计数都是一个很大的数,而且他们的地址是一样的。。 用%d ,打印的时候是-1。