Fork me on GitHub

OC基础学习1:对C的扩展

分析最简单的Hello Objective-C程序

1
2
3
4
5
6
7
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

NSLog(@"Hello, World!");
return 0;
} // main
  • OC本质上就是C语言,它用来声明main()和返回数值的语法和C语言是一样的。
  • 扩展名.m代表message
  • 与C类似,OC使用头文件来包含结构体、符号常量和函数原型等元素的声明。
  • #import类似于C的#include,但#import可保证头文件只被包含一次。
  • #import <Foundation/Foundation.h>语句告诉编译器查找Foundation框架中的Foundation.h头文件。
  • int argc, const char * argv[]argc是指命令行参数个数,argv[0]是指可执行文件的路径,argv[1]是指命令行第一个参数,argv[2]是指命令行第二个参数,以此类推。
  • 框架 :一种把头文件、库、图片、声音等内容聚集在一个独立单元中的集合体。
    • 如Cocoa,Carbon,QuickTime,OpenGL
    • Cocoa包括Foundation和Application Kit(AppKit)
    • 每一个框架都有一个主头文件,它包含了框架内所有的头文件。
    • Foundation的头文件 1MB 14000行 100多文件 。通过#import <Foundation/Foundation.h> 就获得了整个集合
    • Xcode使用预编译头文件(一种经过压缩的,摘要形式的头文件)来加快读取速度。
  • NSLog()和@”字符串”
    • NS前缀是NextSTEP(很早之前苹果公司收购的公司)
    • NSLog()类似于C的printf()
    • @符号是Objective-C在标准C语言基础上添加的特性,意味着引号内的字符串应作为Cocoa的NSString元素来处理
    • @符号可以看成之后是对C语言的扩展

布尔类型

OC中的布尔值YES是1, NO是0,是与C语言中不同的。

坚持原创技术分享,您的支持将鼓励我继续创作!
  • 本文标题: OC基础学习1:对C的扩展
  • 本文作者: AndyRon
  • 发布时间: 2017年07月21日 - 00:00
  • 最后更新: 2018年09月19日 - 23:47
  • 本文链接: http://andyron.com/2017/oc-basic-1-c.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!