OC总结

//输出helle world

NSLog(@"hello world");

//实例化类对象

1,Student *st=[[Student alloc]init];

//*****和new方法区别:需要手动 release***////

id obj=[Student alloc]; //静态

st=[obj init];//动态

2,id obj=[obj new];

调用无参 [st funtion];

调用有参数 [obj funtion:12];

调用多参数 [obj funtion:12 andno:14];

//定义和实现

.h

@interface Student:NSObject{

int _age;  //这里定义成员变量

int _num;

}

-(int)Funtion;                                //“-”号属于动态方法

-(int)Funtion:(int)argc andno:(int)argv;       //多参数

+(void)StaticFuntion;                         //"+" 属于静态方法

@end

.m

-(void)Funti:(int)abc{

_num=abc

}//set方法

-(int)Abc{

return _num;

}//get方法

-(int)Funtion:(int)argc andno:(int)argv;{

_age=agrc;

_num=argv;

}

//构造方法和description方法

//构造实现方法

-(id)initMy:(int)a andNo:(int)b{

if(self==[super init])

{

_a=a;

_b=b;

}

return self;

}

//构造调用方法

Student *st=[[Student alloc]initMy:12 andNo:13];

//description方法

-(NSString*)description{

return @"123";

}

//把方法写在.m中 而不在.h中声明的 属于私有的方法

@private

@public

@protected  默认的访问权限

//简化 @peoperty  @synthesize //简化set get//

@peoperty int age;//用在.h   如果不写成员变量的话他自动生成同名的私有的成员变量,

如果有int _age;不会主动去访问这个下划线_age.. 要访问_age 必须如下写法

@synthesize age=_age; // 如果_age 没定义的话 编译器生成

****版本差异 4.5 以上新特性xcode可以不写@synthesize,,没声明的情况下变量 _age 访问的是_age;

//内存管理 retain release 是用引用计数器

//重写

-(void)dealloc{

[super dealloc];

}

[stu retain]//计数器+1

[stu realease]//计数器-1

[stu retainCount]//计数器数量

Student *st=[[[Student alloc]init]autorelease];//适当的机会去释放

//@class  类名;  在.h用来声明一个类 ,不用包含.h  浪费效率

//内存管理 peroperty 参数的使用/////

@peroperty (retain) 类名* book; //先release 再retian

@peroperty (assign) 类名* book; //默认

@peroperty (nonatomic,retain) 类名 *book; //两个参数

@peroperty (readonly) int book ;//只生成get方法

@peroperty (readwrite) int book ;//默认都生成

// atomic  默认提供多线程安全 nonatomic 反之

-(void)setBook:(Book*)book{

if(_book!=book){

[_book release];

_book =[book retain];

}

静态方法自动释放

Student *st=[[[Student alloc]init]autorelease];//适当的机会去释放

////////////Category分类//////////////////

使用:对类的扩充函数和方法

/////////NSString ///////////////////////

NSString *str=@"hello world";

NSString *str=[[NSString alloc]init]

str=@"hello world";

[str release];

NSString *str=[[NSString alloc]initWithString:@"a string"];

[str release];

NSString *str=[[NSString alloc]initWithUTF8String:@"a string"];

[str release];

NSString *str=[[NSString alloc]initWithFormat:@"a string%i",age];

[str release];

//读取本地文件

NSString *str=[NNString stringwithContentsOfFile:@"c:\1.txt" encoding:NSUTF8StringEncoding error:nil];

//从url读取字符串

NSError *error;

NSURL *url=[NSURL URLWithString:@"www.baidu.com"];

NSString *string =[[NSString alloc]initWithCOntentcOFURL:url encoding:NSUTF8StringEncoding error:nil];

//字符串导入

NSError*error;

NSString *str=@"c:\1.txt"

[str writeToFile:path atomically:(BOOL) endcoding:NSUTF8STringEncoding error:&error];

//NSString 操作

NSString *str=@"FUntion";

NSLog(@"%@",[str uppercaseString]);

NSLog(@"%@",[str lowercaseString]);

//比较

BOOL result=[@"abc" isEqualToString:@"Abc"];

//serch

NSLog(@"以22开头:%i",[str hasPerfix:@"22"]);

hasSuffix   //以什么结尾

NSRange re=[str rangeOfString:@"456"];//出现的位置

//字符串截取

[str substringFormIndex:3]//3到尾部      包括  456

[str substringToIndex:3]//从头部开始到3  不包括三  123

//指定范围

NSRange range=NSmakeRange(2,3);

NSLog(@"%@",[str substringWithRange:range]);

//分割字符串

NSString *str=@"1,2,3,4,5";

NSArray  *array=[str componentsSeparatedByString:@","];

NSLog(@"%@",array);

NSString *str=[array objectAtIndex:0];

//可变字符串

NSMutableString *str=[[NSMutableString alloc]initWithCapacity:10];

[str setString:@"1234"];

//拼接

[str appendString:@"567"];

str[appendFoamat:@"age is %i",27];

//替换

[str replaceCharactersInRange:range WithString:@"no"];

//插入字符串

[str insertString:@"abc" atIndex:2];

//删除

[str deleteCharactersInRange:range];

//////////NSArray  数组类/.////////

//创建一个空的数组

NSArray *array=[NSArray array];

//创建一个元素的数组

array=[NSArray arrayWithObject:@"123"];

//遍历数组

for(int i=0;i

{

id obj=[array abjectAtIndex:i];

NSLog(@"%@",obj);

}

//快速遍历

for(id obj in array){

NSLog(@"%@",obj);

}

//////////////NSMutableArray////可变的数组////

NSMutableArray *array=[NSMutableArray arrarWithObject:@"1"];

[array addObject:@"2"];

[array addObject:@"3"];

///////////////NSDictonary//字典

NSDictionary *dict=[NSDictionary dictonaryWithObject:@"v" forkey:@"k"];

dict=[NSDictionary dictionaryWithObjectAndKeys:

@"v",@"k1",

@"v2",@"k2", nil];

///222/

NSArray *object=[NSArray arraywithObjecrs:@"v1",@"v2",nil];

NSArray *keys=[NSArray arraywithObjecrs:@"k1",@"k2",nil];

NSDictionary *dict=[NSDictionary dictonaryWithObject:object forkey:keys];

///使用方法/

id obj=[dict objectForKey:@"k2"];

[dict writeToFile:pat atomically:YES];

////NSMutableDictonary//可变的字典

NSMutableDictionary *dict=[NSMutableDictionary dictionary];

//add

[dict setobject]

////NSNumber///////

NSNumber *number=[NSNumber numberWithInt:10];

NSMutableArray *array=[NSMutableArray array];

[array addObject:number];

NSNumber *number=[array lastObject];//取出

int num=[number1 intValue];

/////NSValue///////////

CGPoint point=CGPointMake(10,10);

NSValue *value=[NSMutableArray array];

NSMutableArray *array=[NSMutableArray array];

[array addObject:value];//添加

NSValue *value1=[array lastObject];//取出

CGPoiny point1=[value1 pointValue];

/////NSNull////////////

NSNull *n=[NSNull null];

////时间 NSDate/////

NSDate *date=[NSDate date];

//返回时间

date=[NSDate dateWithTimeIntervalSInceNow:10];

//现在开始+10秒

// copy

深拷贝  可变的字符串(深拷贝)   拷贝对象+1           源对象不变 NSMutaString 系列

浅拷贝  不可变的字符串(浅拷贝)  不会产生新对象       对象源+1  NSString

//NSEnmerator 枚举

NSArray *array=[[NSArray alloc] initWithObjects:@"one",@"two",@"there"]

//快速枚举法

for(id obj in array){

NSLog(@"%@",obj);

}

//使用i值遍历

NSUInteger length=[array count];

obj=[array objetcAtIndex:2];

NSInter i;

for(i=0;i

NSLog(@"%@",[array objectAtIndex:i]);

}

//可变数组   NSMutableArray

NSMutableArray *array=[[NSMutableArrat alloc]init]

[array addObject:@"one"];

[array addObject:@"two"];

NSLog(@"%@",array);

////NSDicttionary

NSDicttionary *dict=[[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2"];

//快速

for(id obj in dict){

NSLog(@"%@",obj);

}

//用法

NSString *str=[dict objectForKey:@"1"];

NSLog(@"%@",str);

NSMutableDictionary *dict=[[NSMutableDictionary alloc]init];

[dict setObject:@"one" forKey:@"1"];

[dict setObject:@"two" forKey:@"2"];

///NSInterger a=9

NSnumber *inter=[[NSNumber alloc]initWithInt:5]

NSnumber *inter=[[NSNumber alloc]initWithFloat:3.14f];

//集合 NSSet

NSSet *set=[NSSet alloc] initWithObjects:@"one",@"two",nil];

//NSValue NSNumber的父类

NSString *str=@"hello world";

NSData *data=[str dataUsingEncodeing:NSUTF8StringEncoding];

NSString *newstr=[NSSTring alloc]initWIthData:data encoding:NSUTF8STringEncoding];

//copy 和MutableCopy  可变的字符串

用法 把一个不可变的字符串变成可变的字符串

copy:拷贝 不可变

MutableCopy:不可变

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 193,968评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,682评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,254评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,074评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,964评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,055评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,484评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,170评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,433评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,512评论 2 308
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,296评论 1 325
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,184评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,545评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,150评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,437评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,630评论 2 335

推荐阅读更多精彩内容