黑马程序员----OC学习总结--Founation框架

来源:互联网 发布:ubuntu怎么设置输入法 编辑:程序博客网 时间:2024/06/18 03:56
1.常用结构体
在 Founation 框架中 对NSRange NSPoint NSrect NSSize 有了定义
他们常这样被创建:
#import <Founation/Founation.h>
void main(){
@autoreleasepool{
//Range的使用
NSRange rang=NSMakeRange(10,34);//指定一个起止范围
//CGRang rang=CGPiontMake(10,34);//用CGRange也可以定义
 NString *str=stringFormRange(rang);//字符串打印
NSLog(@"rang=%@",str);
//Rect的使用
包含 x y width height
NSRect rect=NSMakeRect(2,3,45,32);
//CGRect rect=CGRectMake(2,3,45,32)
NSString *str2=stringFormRect(rect);
}
}
2.NSString 的使用
NSString 不可变字符串 是OC一个对象,需要释放内存,静态方法调用则不用释放
#import <Founation/Founation.h>
void main(){
@autoreleasepool{
NSString *string=[[NSString alloc] init]//创建一个NSString
string=@"fff";
[string release];
NSString *str=[[NSString initWithFormat:@" his age is %i",24];//字符串格式化输出
[str release];
//静态方法调用
NSString *str1=[NSString stringWithString:@"fffff"];
NSString *str2=[NSString stringWithFormat:@"fffff %i",34];
NSLog(@"%@%@",str,str2);
}
}
3.NSMutableString 的使用
是一个可变字符串 也需要管理内存
#import <Founation/Founation.h>
void main(){
@autoreleasepool{
[NSMutableString * str=[[NSMutableString alloc] initWithCapacity:10]//预分配10字数存储空间 提高效率
[str setString:@"ss"];
[str appendString:@"fff"];//拼接字符串
[str appendFormat:@"ffff age is %i and heighe is %2f",23,1,72];//格式化输出
[str release];
}

4.NSArray 不可变 数组
#import <Founation/Founation.h>
void main(){
@autoreleasepool{
NSArray *arr=[NSArray arrayWithObjects:@"jh",@"wk",@"4",@"5",nil];//定义数组
 [arr objectAtIndex:2];//取出第三个元素
 [arr indexOfObject:@"wk"];//取出角标
 [arr lastObject];//取出最后一个元素
 [arr count];//提取元素个数

 //遍历
  int i=0;
for(id ob in arr){
NSLog("%i\t%@",i,obj);
i++;
//排序
NSArray *array=[NSArray arrayWithObjects:@"34",@"4",@"55",@"2",nil]
NSArray *arr2=[array sortedArrayUsingSeletcor:@seletcor(compare:)];//排序好返回一个新数组
 NSLog(@"%@",arr2);
}
}

5.NSMutableArray 可变数组 
#import <Founation/Founation.h>
void main(){
@autoreleasepool{
NSMutableArray arr=[NSMutableArray  array];
[arr addObject:@"ff"];//添加内容
[arr removeObject:@"ff"]//删除内容
Student *s=[[Student alloc] init];
[arr addObject:s]; //retain 一次
[arr removeObject:s]//release 次
 [s release];
[arr release]
//数组被释放时会对所有的元素 都做一次release操作
//排序
NSMutableArray arr=[NSArray arrayWithObjects:@"4",@"3",@"5",@"2",nil]
[arr sortUsingSeletcor:@seletcor(compare:)];//排序好返回本身
 NSLog(@"%@",array);
}
6.NSDictionary 不可变字典
#import <Founation/Founation.h>
void main(){
@autoreleasepool{
NSDictionary *dict=[NSDictionary dictionaryWithObjectsAndKeys:@"v1",@"v2",@"v3",@"k1",@"k2",@"k3",nil];
id v_= [dict objectForKey:@"k2"];//字典取值  只能取不能改
 [dict count];//字典所有元素个数
[dict allValues];//字典所有值 只能取不能改
[dict allKeys];//字典所有Key
//遍历
  for(id key in dict){
  id value=[dict objectForKey:key];
 NSLog(@"%@--%@",key,value);
}
}
7.NSMutableDictionary不可变数组
#import <Founation/Founation.h>
void main(){
@autoreleasepool{
NSMutableDictionary *dit=[NSMutableDictionary  dictionary];
[dict setObject:@"v2" forkey:@"k2"];//添加元素
[dict removeAllObjects];//删除所有的键值对
[dict removeObjectForKey@"k2"]//删除key对象的value
//字典销毁时会对每个元素release一次
}

9.NSNumber的 使用
#import <Founation/Founation.h>
void main(){
@autoreleasepool{
NSNumber *n=[NSNumber  numberWithInt:100];//将int类型10 包装成NSNumber对象
NSArray *arr=[NSArray arrayWithObject:num];
id num=[arr lastObject];//从数组取出
int n1=[num intValue];//转化成 int类型
NSLog(@"n1=%i",n1);
}
运行结果为:n1=100
10. NSDate 的使用
#import <Founation/Founation.h>
void main(){
@autoreleasepool
NSDate *date=[NSDate date];//创建日期
date=[NSDate dateWithTimeIntervalSinceNow:20]; //返回一个比现在快20 秒的时间
[date distantFuture];//自动返回一个未来遥远的时间
[date distantPast];//随机返回 过去的一个时
NSDateFormatter *format=[[NSDateFormatter alloc] init];
format.dateFormat=@"yyyy-MM-dd  HH:mm:ss";// 格式化日期时间
 NSString *str=[format stringFromDate:date];//日期格式转化成字符串
 NSDate date1=[format dateFromString:@"2008-08-08 07:34:43"];//字符格式转化成日期格式
NSLog(@"str=%@",srt);
 NSLog(@"date=%@".date1);
 [format release];
}
运行结果:
黑马程序员OC学习总结--Founation框架 - jianghao.562 - jianghao.562的博客
0 0