一、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. 14-C语言宏

    目录: 一.宏定义 二.#x,##x使用和预定义宏 三.宏的高级使用(条件编译) 回到顶部 一.宏定义 1 宏是常用的预处理功能之一,是在编译之前进行宏替换,即将宏名替换成所定义的宏体. 2 优点:可 ...

  2. python基础学习笔记1

    一.字符串: 1.不可变性.分片赋值对于字符串是不合法的. 2.字符串格式化 % eg: print 'The price is: %d' % 30 print 'The price is: %.2f ...

  3. 解决android TextView多行文本(超过3行)使用ellipsize属性无效问题

    布局文件中的TextView属性 <TextView android:id="@+id/businesscardsingle_content_abstract" androi ...

  4. nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException

    You should autowire interface AbstractManager instead of class MailManager. If you have different im ...

  5. 【技术引擎——汇聚IT思想之间的碰撞】

    转载请注明作者和出处:http://blog.csdn.net/pearyangyang/article/details/40869825    谢谢. 这篇博客将记录我所学习的那些博客大牛,方面以后 ...

  6. vc++实现avi文件的操作

    为了对avi进行读写,微软提供了一套API,总共50个函数,他们的用途主要有两类,一个是avi文件的操作,一类是数据流streams的操作. 1.打开和关闭文件 AVIFileOpen ,AVIFil ...

  7. linux c 通过文件描写叙述符获取文件名称

    在linux中每一个被打开的文件都会在/proc/self/fd/文件夹中有记录,当中(/proc/self/fd/文件描写叙述符号:这个文件是符号文件)的文件就是文件描写叙述符所相应的文件. 而re ...

  8. docker基础入门之二

    一.docker文件系统: linuxFS包括boot file system 和 root file system boot file system (bootfs),包含bootloader和ke ...

  9. Node.js模块os

    OS 操作系统模块 os.hostname() 操作系统的主机名. os.type() 操作系统的名称 os.release() 操作系统的发行版本 os.uptime() 当前系统的时间 以秒为 o ...

  10. iOS中UIWebView使用JS交互 - 机智的新手

    iOS中偶尔也会用到webview来显示一些内容,比如新闻,或者一段介绍.但是用的不多,现在来教大家怎么使用js跟webview进行交互. 这里就拿点击图片获取图片路径为例: 1.测试页面html & ...