一、OC简介

  在C语言的基础上,增加了一层最小的面向对象语法;完全兼容C语言;可以在OC代码中混入C语言代码,甚至是C++代码;可以使用OC开发Mac OS X平台和iOS平台的应用程序。

二、OC语法预览

(一)关键字

  基本上所有的关键字都是以@开头的,如@interface  @implementation  @public等,少部分没有以@开头,如id,_cmd等

(二)字符串以@开头

  C语言字符串:“hello”

  OC语言字符串:@“hello”

(三)其他语法

  基本类型:5种,增加了布尔类型BOOL(YES/NO)。

  Nil相当于是C中的null,也就是0。

  屏幕输出:NSLog(@“hello”); NSLog(@“age is %d”,2); // 自动换行

三、OC程序开发过程

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

  程序编译连接过程:

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

  Foundation框架。是开发OC、iOS、Mac程序必备的框架,若想使用整个框架的内容,包含框架的主头文件即可。主头文件是一个框架中最主要的头文件,每个框架的主头文件名和框架名一致。

  即:#import<Foundation/Foundation.h>

  运行过程如下:

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

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

    (3)链接  cc xx.o xxx.o  -framework Foundation(没有使用Foundation框架,就不用加-framework Foundation)

    (4)运行 ./a.out

四、BOOL类型

  int main()

  {

    BOOL b=YES;

    BOOL b1=NO;

    BOOL b2=1;//  YES

    BOOL b3=2;//  NO

    NSLog(@“%i”,b);

  }

  本质:

  typedef signed char BOOL;

  Typedef signed char BOOL

  宏定义:

    #define YES  (BOOL)1

    #define NO   (BOOL)0

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

转载地址:http://www.cnblogs.com/xiaodong208/p/4232589.html

「OC」 基本语法的更多相关文章

  1. 「OC」点语法和成员变量的作用域

    一.点语法 (一)认识点语法 声明一个Person类: 1 #import <Foundation/Foundation.h> 2 3 @interface Person : NSObje ...

  2. 「OC」block 和 protocol

    一.block   (一)简介 block 是什么?苹果推荐的类型,效率高,在运行中保存代码.用来封装和保存代码,有点像函数,block 可以在任何时候执行.在多线程.异步任务.集合遍历.集合排序.动 ...

  3. 「OC」内存管理

    一.基本原理 (一)为什么要进行内存管理. 由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空 ...

  4. 「OC」构造方法和分类

    一.构造方法 (一)构造方法的调用 创建一个可用的对象:Person *p=[Person new]; new方法实际上是分为两步来创建一个对象: 1)使用+alloc方法来分配存储空间(返回分配的对 ...

  5. 「OC」 多态

    一.基本概念 多态在代码中的体现,即为某一类事物的多种形态,OC对象具有多态性.必须要有继承,没有继承就没有多态. 在使用多态时,会进行动态检测,以调用真实的对象方法. 多态在代码中的体现即父类指针指 ...

  6. 「OC」 继承

    一.基本用法 1.设计两个类Bird.Dog 1 // Bird的声明 2 @interface Bird : NSObject 3 { 4 @public 5 int weight; 6 } 7 - ...

  7. 「OC」 封装

    一.面向对象和封装 面向对象的三大特性:封装.继承和多态 在OC语言中,使用@interface和@implementation来处理类.   @interface就好像暴露在外面的时钟表面,像外界提 ...

  8. 「OC」类和对象

    一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类. 术语:OO ...

  9. IOS内存管理「2」- 点语法的内存管理

随机推荐

  1. SQL Server Mysql primary key可更新性分析

    SQL Server: 一般来说SQL Server 中表的主键是支持更新操作的.但是如果这个主键是由identity(1,1)这类的方式生成的话它是不可更新的. Mysql : Mysql 中表的主 ...

  2. .NET(C#):在数组成员上加入XmlElement特性

    原文 www.cnblogs.com/mgen/archive/2011/12/04/2276131.html 当对如下类进行XML序列化时: publicclassa { }; } 结果会是: &l ...

  3. HDU 5741 Helter Skelter(构造法)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5741 [题目大意] 一个01相间的串,以0开头,给出的序列每个数字表示连续的0的个数或者1的个数, ...

  4. Android 自己主动化測试之------ Monkey工具

    尽管 一般公司都有专门的測试人员,可是有时候 免不了 我们既要去开发产品,也要去測试产品,測试产品.有些机械化的 点界面的操作,谷歌已经给我们提供了工具.Monkey, 猴子測试. 什么是Monkey ...

  5. 沙朗javascript(两)正则表达式

          以下提到的文章javascript基础,今天我说些什么javascript正则表达式正确.      说到这首先要问了,什么是正則表達式,正則表達式能干什么? 正則表達式:一个正則表達式就 ...

  6. Android乐学成语之自定义Adapter

    一.首先对Adapter概念深刻的了解 首先看看他的继承图

  7. sp_makewebtask

      Transact-SQL 参考 sp_makewebtask 创建一项生成 HTML 文档的任务,该文档包含执行过的查询返回的数据. 说明  所有 Web 作业在企业管理器的"作业分类& ...

  8. OC中使用 static 、 extern、 const使用

    static static用于定义静态变量,静态变量只会被初始化一次,并且直到程序销毁时才会释放 static NSString *str = @"asdfa"; const co ...

  9. Git跨平台中文乱码临时解决方案

    Git 是一个非常优秀的分布式版本控制系统,最初为Linux Kernel版本管理进行量身定做.优点是,和其他版本控制系统相比,稳定,速度快,跨平台,易学易用,无需要花费成本.更多优点请点击阅读:ht ...

  10. JS封装移动端触摸滑动插件应用于导航banner【精装版】

    自己封装了一个小插件,一个小尝试. 可用于类似于京东导航等效果,效果多样化,很方便. 欢迎大家提点意见. mrChenSwiper(  {parent, child, type, parentN, c ...