Objective-C的学习笔记一
Objective-C概述
Objective-C,面向对象的C语言。简称:OC
OC的本质还是C语言,并且完全兼容C语言的代码。
发展历史:布莱德 考克斯(Brad Cox)在20世纪80年代初期,结合C语言(可移植性好)和Smalltalk(面向对象)的优势设计出了Objective-C语言
1985年,乔布斯创建NeXT公司,选择Unix操作系统
NeXT公司使用OC语言,设计出了NextStep界面工具包
1995,NeXT公司获得了OC的全部商业版权
1996,苹果公司收购NeXT,NextStep更名为Cocoa,从此OC成为开发Mac平台的主力军。
OC基础语法
OC程序的源文件的后缀名是.m m代表message 代表OC的消息机制
main函数是OC程序的入口和出口
#import指令:同一个文件无论#import多少次只会被包含一次
框架:是一个功能集
NS前缀
NextStep ---> Cocoa ---> Foundation
OC程序的编译/链接/执行
1.在.m文件中写上符合OC语法规范的源代码。
2.使用编译器将源代码编译成目标文件。
cc -c xxx.m
预处理-->检查语法-->编译
3.链接
cc xxx.o
如果程序中使用到了框架中的函数或者类,那么需要链接到框架中的类或函数。
cc xxx.o -framework 框架名称
例如:cc main.o -framework Foundation
4.链接成功后会生成一个a.out可执行文件 执行该文件就可以了。
OC的数据类型
1.支持C语言中所有的数据类型
基本数据类型:int char float double
构造类型:数组 结构体 枚举
指针类型:int *p1
空类型: void
typedef自定义类型
2.新增类型
BOOL:存储表达条件表达式的结果,YES或NO
(BOOL的本质。typedef signed char BOOL 是一个有符号的char 变量)
Boolean:
a.存储true或false
b.存储条件表达式的值 true 或 false
c.本质:typedef unsigned char无符号的char类型
3.class类型
4.id万能指针
5.nil 和 NULL
6.SEL 方法选择器
7.block代码段
NSString
NSString 类型的指针变量,只能存储OC字符串的地址。
Nsstring是Fundation框架中的一个类,@"jack"本质上是一个NSString对象。
%p打印的是指针变量的值
%@打印的是指针变量指的对象
常用方法
1.将C语言字符串转换为OC字符串对象
char *str = "rose";
NSString *str1 = [NSString stringWithUTF8String:str]
2.拼接OC字符串对象
int age = 19;
NSString *name = @"谢飞";
NSString *str = [NSString stringWithFormat:@"我叫%@,我今年%d岁",name,age];
3.返回字符串长度
NSString *str = @"xdf";
NSUInteger len = [str length];
4.取指定下标的字符
NSString *str = @"我爱你中国";
unichar ch = [str characterAtIndex:2];
NSLog(@"中文ch = %C",ch);
5.比较两个字符串是否相等
NSString *str1 = @"jack";
NSString *str2 = @"jack";
if([str1 isEqualToString:str2]) {
NSLog(@"YES 他们相等");
} else {
NSLog(@"NO 他们不相等");
}
类和对象
1.对象:万物皆对象
2.类:对象的抽象集合,用来描述一群具有相同特征和行为的事物
类和对象的关系
1.类是模板,类的对象是根据这个模板创建出来的
2.同一个类可以创建无数个对象
3.同一个类的多个对象之间毫无关系
类的三要素
1.类名
2.类属性
3.方法