黑马程序员--OC--OC简介
来源:互联网 发布:淘宝全年销售额 编辑:程序博客网 时间:2024/05/17 23:58
------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流
• 异步执行代码
- 黑马程序员--OC--OC简介
- [黑马程序员][OC]简介
- 黑马程序员-IOS-OC基础-OC简介及基本语法
- 黑马程序员-IOS-OC基础-OC简介及基本语法
- 黑马程序员IOS-OC语言-简介、基础
- 黑马程序员-----------Objective-C基础-----------OC简介
- 黑马程序员---OC基础---OC简介、OC与C的差异、类和对象与方法
- 黑马程序员 oc
- 黑马程序员-OC多态
- 黑马程序员--OC--分类
- 黑马程序员--oc:集合
- [黑马程序员][OC] 类
- [黑马程序员][OC]协议
- 黑马程序员---OC--protocol
- 黑马程序员---oc Foundation
- 黑马程序员---oc block
- 黑马程序员---oc description
- 黑马程序员---oc copy
- Machine Learning-01_k近邻算法
- UILable转为UIImage的方法
- Openstack存储总结之:详解如何使用NFS作为Cinder的后端存储
- 移位运算符
- 从利用匿名管道实现可交互式远程超级终端cmd.exe说起
- 黑马程序员--OC--OC简介
- C++摘要——什么时候使用std::cout,什么时候用std::cerr
- DestroyWindow函数解析
- 关于协方差矩阵的概念及意义
- Linux学习笔记(六)terminal与vim配色
- Linux下一些很有用的Shell命令
- Android 源码解析之Launcher3之帮助提示的实现方案
- Java易错知识点(2) - 在读取Cookie时除了Key,Value是得不到其他信息的
- opengl入门系列- 颜色混合