码迷,mamicode.com
首页 > 编程语言 > 详细

Object-C简介(和C语言的一些对比)

时间:2015-09-06 21:25:50      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

(一)OC简介
1. C语言的基础上,增加了一层最小的面向对象语法
2. OC是完全兼容C语言
3. 可以在OC代码中混入C语言代码,甚至是C++代码(但不是任何源文件都可以混入C++代码,需要把拓展名改成.mm,OC的拓展名.m,可以兼容C语言代码
4. 可以使用OC开发Mac OS X平台和iOS平台的应用程序
 
 
(二)OC语法预览
1.关键字
   1.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、
 BOOL Class SEL YES NO nil atomic nonatomic retain assign copy  ...
 
 
2.字符串以@开头
OC中,字符串以@开头 :@“Hello”
C语言中,字符串:“Hello”
 
 
3.OC相对C语言增加了一些数据类型
技术分享
 
还有nil,相当于C语言中的NULL,也就是0
 
 
关于布尔类型:
 
OC风格BOOL 具有 YES 和 NO。实用8位存储空间。从最低位算起。 YES定义为1,NO定义为0。
C语言风格  bool 具有true和false  而非0的全都是true,0是false。
 
 BOOL的使用
 BOOL类型的本质其实也是char
typedef signed char BOOL;
• BOOL类型的变量有2种取值:YES、NO
#define YES (BOOL)1
#define NO  (BOOL)0
• BOOL的输出(可以当做整数来用)
NSLog(@"%d %d", YES, NO);
 
打印,屏幕输出:NSLog@“Hello”); 
  • NSLogprintf的区别
    NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数
    NSLog输出后会自动换行,printf输出后不会自动换行
    • 使用NSLog需要#import <Foundation/Foundation.h>
    • 使用printf需要#include <stdio.h>
 
输出BOOL值的方法:NSLog(@"%@",YES?@"YES":@"NO");
 
如你有一个 bool型 变量 :  IfReadOnly ; 你想在控制台输出 它的值。 在程序中想看到他的值的地方 加入如下代码:
 
NSLog(@"ifReadOnly value: %@" ,ifReadOnly?@"YES":@"NO");         即可
 
(三) OC程序开发过程
    1.和C语言一样,OC也有预处理指令 #import
  • #import的作用
    •跟#include一样,用来拷贝某个文件的内容
    •可以自动防止文件内容被拷贝多次,也就意味着头文件中不用加入下面的预处理指令了
  • #ifndef _STDIO_H_
    #define _STDIO_H_
    #endif
 
2.开发oc、iOS、Mac程序中,通常都会用到Foundation框架
        此框架中包含了很多常用的API(应用编程接口)
        框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可
         代码如下:
          #import <Foundation/Foundation.h>
 
 
利用Foundation框架开发程序运行过程如下:

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

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

(3)链接  cc xx.o xxx.o  -framework Foundation(链接是把项目中所有相关的.o目标文件跟C语言的函数库联系在一起,生成一个可执行文件。)
 
(4)运行 ./a.out
 
 
 
 
 

Object-C简介(和C语言的一些对比)

标签:

原文地址:http://www.cnblogs.com/sangbill/p/4787002.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!