01、简单的OC程序

来源:互联网 发布:成都软件 编辑:程序博客网 时间:2024/05/20 18:47



一、OC简介

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


二、OC语法预览

1、关键字

基本上所有的关键字都是以 @ 开头;
下面列举一些常见的关键字,看一眼即可
@interface, @implementation, @end , @public , @protected , @private, @selector ,
@try , @catch , @throw, @finally , @protocol , @optional , @required , @class, @property,
@synthesize , @dynamic
self 、super 、 id 、_cmd、_block 、 _strong 、 _weak


2、字符串以 @ 开头

比如@"Hello" 是OC中的字符串,而"Hello"是C中的字符串


3、其他语法

基本数据类型:char、int 、 float 、 double 、BOOL (YES/NO)
nil  <==>  相当于C中的NULL,也就是0
基本语句:循环语句(do while 、while 、for)、条件语句(if 、 if-else 、switch)
注释://和/*.......*/
屏幕输出:NSlog(@"Hello"); NSlog(@"age is %i",27)


三、OC程序的开发过程

与C类似
.m   --编译-->   .o    --链接-->   a.out
源文件         目标文件                   可执行文件




四、OC程序初认识

终端指令:
编译  cc -c XXXXX.m
链接  cc XXXXX.o  -framework Foundation
执行  ./a.out


/*  ocDemo01.m   */
//C语言的形式
#include <stdio.h>int main(){    printf("The First OC Program\n");    return 0;}






/*  ocDemo02.m    */
// OC语言的形式
#import <Foundation/Foundation.h>int main(){    NSLog(@"Hello,World! The Secondary Program");    return 0;}






NSLog与printf的区别

1、NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数;
2、NSLog输入后会自动换行,printf输出后不会自动换行;
3、使用NSLog需要 #import <Foundation/Foundation.h>
4、使用printf需要#include <stdio.h>


#import的作用

1、跟#include作用一样,用来拷贝某个文件的内容
2、可以自动防止文件内容被拷贝多次,也就相当于头文件中不用在加入下面的预处理指令了
#ifndef _STDIO_H_#define _STDIO_H_#endif



Foundation框架的作用

1、开发OC、iOS、Mac程序必备的框架;
2、此框架中包含了很多常用的API接口;
3、框架中包含了很多头文件,若想使用整个框架的内容,则包含它的头文件即可
#import <Foundation/Foundation.h>




BOOL的使用

1、BOOL类型的本质

typedef signed char BOOL;



2、BOOL类型的变量有2中取值:YES、NO

#define YES (BOOL)1#define NO (BOOL)0



3、BOOL的输出当作整数来用

NSLog(@"%d,%d",YES,NO);




/*  ocDemo03.m  and one.c  混合开发   */
//one.hvoid test();                      //函数声明//one.c#include <stdio.h>void test()                        //test()已在头文件one.h中声明过了{    printf("调用了one.c中test()函数\n");}//ocDemo03.m#import "one.h"              //导入one.h头文件,即把one.c中的test()实现导进来了int main(){    test();                         //调用test()函数;    return 0;}







0 0
原创粉丝点击