黑马程序员技术交流社区
标题:
Founation框架
[打印本页]
作者:
qiang0901
时间:
2015-5-4 14:30
标题:
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一次
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2