OC语言前期准备

OC语言前期准备

一、OC简介

Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码。

可以使用OC开发mac osx平台和ios平台的应用程序。

拓展名:c语言-.c OC语言.-m 兼容C++.-mm

注:其实c语言和oc甚至任何一门语言都只是我们为了实现一些功能,达到一些效果而采用的工具,抛开语法的差别外,我想最重要的应该是在解决问题的时候考虑的角度和方法不一样而已,然而这也构成了学习一门语言的重要性。

二、语法预览

(一)关键字

基本上所有的关键字都是以@开头的(为了与c语言的关键字区分开来),如@interface @implementation @public等,少部分没有以@开头,如id,_cmd等

(二)字符串以@开头

C语言字符串:“hello”

OC语言字符串:@“hello”

(三)其他语法

基本类型:5种,增加了布尔类型

Nil相当于是null,也就是0。

屏幕输出:NSLog(@“hello”);//自动换行

NSLog(@“age is %d”,2);

三、OC程序开发过程

#import预处理指令有两个作用:(1)与#include一样,拷贝文件内容(2)可以自动防止文件的内容被重复拷贝

程序编译连接过程:

源文件(.m)---(编译)---->目标文件(.0)-----(链接)---->可执行文件(.out)

Foundation框架。如果要使用框架中的所有头文件那么应该怎么办?包含框架的主头文件。主头文件是一个框架中最主要的头文件,每个框架的主头文件名和框架名一致。

如#import<foundation/foundation.h>

运行过程如下:

(1)编写OC源文件 .m .c

(2)编译文件 cc -c xx.m xxx.c

(3)链接 cc xx.o xxx.o -framework Foundation

(4)运行 ./a.out

四、类型补充

Int main()

{

BOOL b=YES;

BOOL b1=NO;

BOOL b2=1;// YES

BOOL b3=2;// NO

NSLog(@“%i”,b);

}

BOOL类型与其他类型的用法一致,BOOL类型的本质是char类型的,定义如下:

Typedef signed char BOOL

宏定义:

#define YES (BOOL)1

#define NO (BOOL)0

布尔类型的输出一般当做整数来用。

时间: 2024-09-13 01:19:10

OC语言前期准备的相关文章

OC语言基础知识

一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类. 术语:OO面向对象.OOP面向对象编程 二.类 (一)关于类 类的设计只关注三个东西:类名.属性和方法 注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,且不能有下划线,如果有多个单词则使用驼峰标识.在对方法进行类的划分中,一般采取的

OC语言构造方法

OC语言构造方法 一.构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法来分配存储空间(返回分配的对象):2)使用init方法来对对象进行初始化. 可以把new方法拆开如下: 1.调用类方法+alloc分配存储空间,返回未经初始化的对象 Person *p1=[person alloc]; 2.调用对象方法-init进行初始化,返回对象本身 Person *p2=[p1

OC语言类的本质和分类

OC语言类的深入和分类 一.分类 (一)分类的基本知识 概念:Category 分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件结构图: 在分类中添加一个方法 Study方法的实现 测试程序: (二)分类的使用注意 (1)分类只能增加方法(包括类方法和对象方法),不能增加成员变量 (2)在分类方法的实现中可以访问原来类中的成员变量: (3)分类中可以重新实现原来类中的方法,但是会覆盖掉原来的方法,导致原来的方法无法再使用(警告)

OC语言@property @synthesize和id

OC语言@property @synthesize和id 一.@property @synthesize关键字 注意:这两个关键字是编译器特性,让xcode可以自动生成getter和setter的声明和实现. (一)@property 关键字 @property 关键字可以自动生成某个成员变量的setter和getter方法的声明 @property int age; 编译时遇到这一行,则自动扩展成下面两句: - (void)setAge:(int)age; - (int)age; (二)@sy

iOS - OC 语言新特性

前言 相对于 Java,OC 语言是一门古老的语言了,而它又是一门不断发展完善的语言.一些新的编译特性,为 OC 语言带来了许多新的活力.在 Xcode7 中,iOS9 的 SDK 已经全面兼容了 Objective-C 的一些新特 性和新功能.这些功能都只作用于编译期,对程序的运行并没有影响,因此,它可以很好的向下进行兼容,无缝的衔接低版本的 iOS 系统,如果可以将这些新特性都应用于开发,开发效率和代码质量,相比之前会有一个很大的提升. 1.可选类型检测 在 swift 语言中,通过 ! 和

OC语言大总结(上)

根据OC学习的知识点,总结了一下,希望能帮到大家! 作者:韩俊强  未经允许,请勿转载! 关注博主:http://weibo.com/hanjunqiang 第一节类于对象   类与对象http://blog.sina.com.cn/s/blog_814ecfa90102vtum.html 知识点 注意事项 面向对象编程 OOP(Object Oriented Programming) 面向对象语言 C++,Java,C#,OC,Swift 概念 类,对象,封装,继承,多态... 面向过程编程

OC语言大总结(下)

根据OC学习的知识点,总结了一下,希望能帮到大家! 作者:韩俊强   未经允许,请勿转载! 关注博主:http://weibo.com/hanjunqiang 上接:http://blog.sina.com.cn/s/blog_814ecfa90102vuu1.html 第五节 数组.字典.集合 字典.集合:http://blog.sina.com.cn/s/blog_814ecfa90102vub9.html 数组:http://blog.sina.com.cn/s/blog_814ecfa9

OC语言BLOCK和协议

一.BOLCK (一)简介 BLOCK是什么?苹果推荐的类型,效率高,在运行中保存代码.用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行. BOLCK和函数的相似性:(1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样. 标识符 ^ (二)基本使用 (1)定义BLOCK变量 Int (^SumBlock)(int,int);//有参数,返回值类型为int Void (^MyBlock)()://无参数,返回值类型为空 (2)利用block封装代码 (3)Block访问外部变

OC语言实现中等难度通讯录

实现中等难度通讯录.需求: 1.定义联系⼈人类Contact.实例变量:姓名(拼⾳音,⾸首字⺟母⼤大写).性别.电话号码. 住址.分组名称.年龄.⽅方法:⾃自定义初始化⽅方法(姓名.电话号码).显⽰示联系⼈人信息 2.在main.m中定义字典,分组管理所有联系⼈人.分组名为26个⼤大写的英⽂文字⺟母. 3.可以添加联系⼈人对象,如果姓名或电话号码为空,添加失败.添加联系⼈人到匹配的分 组. 4.获取某个分组名称下所有联系⼈人,并且按照姓名升序排列. 5.从通讯录中根据电话号码搜索联系⼈人. 6.