Object-c 概述
- object-c简称obj-c或者oc
- c:c语言
- object:面向对象
- object-c:面向对象的的c语言
1> oc本质还是c语言
2> oc是在c的基础之上加了一小部分面向对象的语法。将c语言复杂、繁琐的语法封装的更为简单。
3> oc完全兼容c语言。
oc简要的发展史
1.20世纪80年代初期,Brad Cox结合c语言Smalltalk的优势设计出了Object-C.
2.1985年,乔布斯创建Next公司,致力于设计经济实惠且功能强大的工作站,并选择unix作为其工作站的操作系统。
3.后来,NeXT公司设计出了NextStep-使用oc语言编写的一套功能强大的界面工具包。
4.1995年,NeXT公司获得OC的全部商业 版权。
5.1996年.苹果公司收购NeXT更名为Cocoa,从此oc成为Mac平台的主力语言。
6.随着iPhone,iPad的火爆,oc成为iOS开发的中流砥柱。
OC的现状
OC的未来
1.2014年WWCD大会正式推出Swift.在2015年的WWDC上宣布年底发布swift2.0将开源。Swift语言的优点:快速、现代、安全、互动且全面优于Object-c语言。
2.按照苹果的行事风格,Swift一定会取代oc成为iOS开发的主力语言。但目前来看,要实现这一目标,还有一段路要走。
OC学习路线图
基础班的学习目标
- 重点学习面向对象的语法。
- 初步建立面向对象的思维。
- 具备初级的项目需求分析能力。
OC基础语法
- OC相对于C
1> 在c的基础之上新增一部分面向对象的语法。
2> 将c的复杂、繁琐的语法封装的简单化。
3> oc完全兼容c。 - 文件区别
1>oc源文件的后缀.m(m代表message代表oc重要的一种机制消息机制),c源文件的后缀.c。
3.main函数
1> 程序出入口。
2> int类型返回值代表程序的结束。
3> 参数接受程序运行传来的数据可以不要。
4.#import指令
1>作用:预处理指令,将文件内容在预编译的时候拷贝写指令的文件。
2>原理:底层判断文件是否已经被包含,如果被包含略过,否则包含。
5.框架
1>由苹果或者第三方封装好的功能集合(Foundation.UIKit等)。
6.@autoreleasepool自动释放池(知道)。
7.oc注释
1>单行注释
//单行注释...
2>多行注释
/*
多行注释...
*/
8.NS前缀
1> NextStep -→Cocoa-→Foundation框架(保留了NextStep公司用于区分)
9.@符号
1>将c字符串转oc字符串。
2>oc绝大多数关键字都以@符号开头。
10.NSLog函数
1>作用:控制台输出信息,printf的增强版。
2>语法:NSLog(@“格式控制字符串”,变量列表);/ NSLog(@“要输出信息”);
4> 区别:a:输出一些调试信息(执行时间、程序名称、进程编号、线程编号、输出信息);b:自动换行;c:oc中新增一些数据类型,NSLog函数不仅可以输出c数据类型变量的值,业可以输新增oc数据类型变量的值;
5> 注意:a:第一参数前必须加@符合;b:输出信息末尾加“\n”函数自动换行消失。
11.NSString
1>简单用法
int age = 18;
float weight = 50.0f;
NSString *name = @"Jack";
NSLog(@"大家好我叫%@,今年%d,体重%f",name,age,weight);
2019-06-12 09:32:52.318659+0800 Day-01-OC基础语法[10323
:1195527] 大家好我叫Jack,今年18,体重50.000000
12.函数
1>声明
void playAge(int age);
2>实现
void playAge(int age)
{
NSLog(@"paly age is %d...",age);
}
3>调用
int main(int argc, const char * argv[]) {
@autoreleasepool {
playAge(3);
}
return 0;
}