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

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];
 
 
 
}
 
运行结果:

 

posted @ 2015-04-30 20:01  强子0901  阅读(214)  评论(0编辑  收藏  举报