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

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

目录
相关文章
|
1月前
|
存储 缓存 Java
程序员血泪史:上线出错后,我做了这三件事儿...
小米,29岁程序员,分享了系统上线遇到的两个问题及其解决方法:一是限售规则错误导致非配置地区也能购买,通过改进匹配逻辑和细化地区限制解决;二是商品详情页信息被误清空,采用深拷贝对象避免直接影响JPA缓存。总结了代码精确匹配、谨慎处理持久化对象及重视用户反馈的重要性。
38 6
|
8月前
|
搜索推荐 安全 数据可视化
关于软件定制开发,你关心的问题都在这里了
定制化软件是一种基于标准化成品软件的软件模式,它是针对企业特定需求量身定做的一系列软件。这种软件可以根据企业自身的业务和工作流程来减少或增加功能,从而更好地帮助企业实现其功能。
|
8月前
|
算法 Android开发 芯片
FPMM(四):基于FPGA的原型设计能为我们做些什么?
FPMM(四):基于FPGA的原型设计能为我们做些什么?
115 0
|
JavaScript 前端开发
基于装饰器——我劝你不要在业务代码上装逼!!!(上)
基于装饰器——我劝你不要在业务代码上装逼!!!(上)
|
设计模式 JavaScript 前端开发
基于装饰器——我劝你不要在业务代码上装逼!!!(下)
基于装饰器——我劝你不要在业务代码上装逼!!!(下)
|
JSON 小程序 数据可视化
开发中难以解决的问题,你是如何另辟蹊径的
在以往的开发中,你遇到过难以解决的问题吗?或者咱们换个角度,面对产品经理提过来的,很难实现的需求,你是怎么处理的?又或者自己在研发某个功能时,遇到障碍,又是如何解决的?
115 0
不用费劲,这5款效率工具为你解决学习工作烦恼
今天我要向大家推荐5款超级好用的效率软件,无论是在学习还是办公中都能够极大地提高效率。这些软件可以帮助你解决许多问题,而且每个都是真正的神器。
161 0
不用费劲,这5款效率工具为你解决学习工作烦恼
|
Linux
Linux驱动开发调试经验
Linux驱动开发调试经验
150 0
|
XML JSON Java
OC语言基础
OC语言基础
327 0
|
设计模式 监控 架构师
UI 自动化测试应不应该投入?有没有前途?怎样做最明智?
![](https://ceshiren.com/uploads/default/original/3X/4/a/4a59ac8dba217173b9abe7f8e8dd4d661b3a367e.jpeg) 昨天发布了《实战| UI 调度自动化测试平台(基于 Python)》文章之后,看到不少测试同学吐槽自己公司的 UI 自动化测试效果差而维护成本高,就是一件劳民伤财的集体活动。经常也会有同学问

热门文章

最新文章

相关实验场景

更多