------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、OC的历史
Objective-C是一种面向对象的计算机语言,BradJ Cox1980s 设计了Objective-C,该语言是基于SmallTalk-80。1988NeXT 发布了Objective-C,它的开发环境和类库叫“NEXTSTEP”,1994年NeXT与Sun发布了标准的NEXTSTEP系统,取 名“OPENSTEP”,软件自由基金会OPENSTEP版本叫GNUStep。1996 苹果公司开始支持NeXT,把NEXTSTEP/OPENSTEP用于 MacOS X操作系统开发,它的版本和开发环境叫Cocoa,使用 Objective-C作为基础语言,开发工具Xcode和InterfaceBuilder。 2007 苹果公司推出Objective-C2.0,Objective-C是MacOS X和 iOS开发的基础语言。
二、OC关键字
大部分关键字都是以@开头
@interface、@implementation、@end
@public、@protected、@private、@selector
@try、@catch、@throw、@finally
@protocol、@optional、@required、@class
@property、@synthesize、@dynamic
三、OC中增加的数据类型
1.BOOL:字面常量值是YES或者是NO
2.NSObject *:OC中的对象类型
3.id:动态对象类型,万能指针
4.SEL:选择器数据类型
5.block:代码块数据类型
四、OC中的流程控制语句
C语言中使用的流程控制语句OC中都可以应用
增强for循环,用于快速迭代数组或者集合
C语言for循环:
for(int i=0;i<10;i++){
printf("%d",i);
}
OC增强for循环:
for (NSString * name in NSArray)
{
NSLog(@”%@”,name);
}
五、OC中的类
•类是用来描述对象的
•类就是一系列方法与属性的集合
.h:头文件,头文件中包含方法,属性的声明。
.m:类的实现文件,参与编译的文件,用来实现类中声明的方法。
六、OC中的方法
•对象方法,使用对象调用的方法
•类方法,使用类名调用的方法
对象方法
- (NSString *)initWithString:(NSString *)name;
类方法
+ (void)createMyClassWithString:(NSString*)name;
七、OC中增加的面相对象语法特性
(1)封装性
(2)继承性
(3)多态性
八、属性生成器
@property
@synthesize
//声明属性
@property (nonatomic,strong)NSString * name;
//合成属性
@synthesize name = _name;
九、分类
分类与继承
使用分类扩展类,无需子类化
@interface NSString (MyNSString)
-(NSString *) encryptWithMD5;
@end
十、协议
• 使用协议声明方法
• 协议类似于C#,java中的接口
@protocol MyProtocol
- (void)myProtocolMethod;
@end
十一、内存管理机制
1、手动内存管理
• release方法
• retain 方法
• autorelease 方法
• dealloc 方法
2、ARC内存管理机制
十二、Fundation框架
• 创建和管理集合,如数组和字典
• 访问存储在应用中的图像和其他资源
• 创建和管理字符串
• 发布和观察通知
• 创建日期和时间对象
• 操控URL流
• 异步执行代码