OC语言前期准备

简介: OC语言前期准备 一、OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码。 可以使用OC开发mac osx平台和ios平台的应用程序。

 

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

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

 

 

目录
相关文章
|
8月前
|
搜索推荐 安全 数据可视化
关于软件定制开发,你关心的问题都在这里了
定制化软件是一种基于标准化成品软件的软件模式,它是针对企业特定需求量身定做的一系列软件。这种软件可以根据企业自身的业务和工作流程来减少或增加功能,从而更好地帮助企业实现其功能。
|
8月前
|
算法 Android开发 芯片
FPMM(四):基于FPGA的原型设计能为我们做些什么?
FPMM(四):基于FPGA的原型设计能为我们做些什么?
119 0
|
测试技术 开发工具 数据库
《移动互联网技术》第十一章 Android应用工程案例: 掌握Android系统的需求分析和设计以及 Android项目的程序测试和版本管理方法
《移动互联网技术》第十一章 Android应用工程案例: 掌握Android系统的需求分析和设计以及 Android项目的程序测试和版本管理方法
153 0
dapp众筹矩阵公排互助系统开发指南详细丨功能需求丨案例项目丨方案项目丨源码程序
Requirement analysis and planning: Clarify the system's goals and functional requirements. Understand the characteristics and working methods of the DApp crowdfunding matrix mutual assistance system. Collect user requirements, define the crowdfunding mechanism, matrix common ranking algorithm, and m
|
JavaScript 前端开发
基于装饰器——我劝你不要在业务代码上装逼!!!(上)
基于装饰器——我劝你不要在业务代码上装逼!!!(上)
|
设计模式 JavaScript 前端开发
基于装饰器——我劝你不要在业务代码上装逼!!!(下)
基于装饰器——我劝你不要在业务代码上装逼!!!(下)
|
Linux
Linux驱动开发调试经验
Linux驱动开发调试经验
150 0
|
iOS开发 MacOS
iOS 的这个功能你肯定听过,但用对它能极大提升效率
iOS 的这个功能你肯定听过,但用对它能极大提升效率
112 0
|
前端开发 JavaScript 测试技术
为了降低维护成本(早点下班),我在组件开发中所做的那些优化(偷懒)
组件开发中为了稳定性、健壮性,经常需要为组件编写测试用例,然后还要为了开发者方便使用编写文档,都是非常耗时间的差事。作为一个独立维护组件库的程序员,为了能够降低组件维护的成本(早点下班),我总结了一下自己过去几年为了让组件开发更加高效所做的那些事情(偷的那些懒)。