OC 入门
关键词正确写法:
- Xcode 错误的写法: xcode
- iPhone 错误的写法:IPhone
- iOS 错误的写法:IOS
- OC 全称: Objective-C 错误的写法:Object-c
文件后缀:
- .h 头文件
- .c C语言
- .m C语言,OC语言
- .cpp C++
- .mm C++,OC语言
<#import关键字>
import 和 #include 的异同
相同点:
- <都是预编译指令
- <将其他文件导入到#import该行的功能
- <#include<> #import<> 都是导入系统文件
- <#include"" #import"" 都是导入用户自定义的文件
不同点:
- <#import是#include的升级版,具有防止相同文件多次导入的功能以后我们是导入的指令符用#import
Foundation框架介绍:
Foundation框架,OC中最重要的一个框架,Foundation命名空间以NS开头
框架:封装了一些常用的类,函数,方法,结构体,变量等等。
自动释放池:
@autoreleasepool。自动释放池,帮助程序员管理内存空间,代码写下括号之内。
iOS4.0之前的写法
NSAutoreleasepool * pool = [NSAutoreleasepool new];
[pool drain];
NSLog的用法:
NSLog是Foundation框架提供的日志输出函数,可以输出日期,时间,对应的应用程序。
NSLog具有自动换行功能,末尾加
无效。
@"" 是一个NSString对象的字面量变现。
字面量:@(),@[],@{}
printf的占位符在我们NSLog中一样使用
%i 修饰整形
%g 修饰浮点型,末尾0省略
%@ 修饰对象
面向对象编程:
面向过程:程序员相当于一个执行者,C语言。
面向对象:程序员相当于一个指挥者,OC,Java,C++。
打开电脑
打开浏览器
听歌
电脑 - 打开电脑
电脑 - 打开浏览器
播放器 - 听歌
类和对象:
对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型,其定义为:
它们的关系是,对象是类的实例,类是对象的模板。
类:图纸 对象:车
C语言用结构体封装数据的。
OC用的是类。属性就是成员变量,行为就是方法。
类:描述事物的名称,属性和行为。
名称:老师
属性:男,人
行为:讲课
名称:老师
行为:指导
名称:学生
行为:做题
Student
属性:姓名,学号
行为:学习,翘课
OC中是如何实现一个类的
声明 和 实现。
类的声明:以@interface开头,以@end。
类的实现:以@implementation开头,以@end。
NSObject基类
NSObject的作用使我们的Person具有创建对象的能力
在大括号里声明成员变量
常见错误:
unrecognized selector sent to instance 对象没有实现该方法
成员变量命名规范
成员变量以下划线开头,驼峰命名
成员方法:
无参数:方法类型符 (返回值类型) 方法名,被(-)修饰的方法,只能被对象调用
:的作用:
:是方法名的一部分
一个:对应一个形参
:前面的文字是描述参数的
描述参数可以省略,但是坚决不建议省略
不同类定义相同方法,是互不影响的。
举例:[Person new]对应哪些操作
1.为Person这个对象在堆内存中分配空间,malloc
2.初始化成员变量
3.返回一个指向该对象的指针