黑马程序员技术交流社区

标题: 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