1. 框架
框架是一种把头文件、库、图片、声音等内容聚集在一个独立单元中的集合体。苹果公司将Cocoa、Carbon、QuickTime和OpenGL等技术作为框架集来提供。Cocoa的组成部分有Foundation和Application Kit(也称为AppKit)框架。Foundation框架处理的是用户界面之下的那些层的特性,比如数据结构和通信机制。此外,还有一套支持型框架,包含了Core Animation和Core Image,它们为Cocoa增添了许多精彩的功能。
每个框架都有一个主头文件,它包含了框架内所有的头文件,通过在主头文件中使用#import,就可以访问框架内的所有功能。Foundation框架的头文件占用了近1MB的磁盘存储空间,包含了14000多行代码,涵盖了100多个文件。只要使用#import “Foundation/Foundation.h”来包含主头文件,就能获得整个集合,而且通过#import导入这种文件时,加载速度也会非常的快。如果想看看Foundation框架中包含了哪些文件,可以查看其Headers目录(/System/Library/Frameworks/Foundation.framework/Headers/),仅仅是浏览,不去移除或更改文件是不会对框架造成任何破坏的。
2. @
@符号是OC在标准C语言基础上添加的特性之一。OC语法中,很多关键字与 C 关键字相同,加@可以区分,使OC完全兼容C,另外,OC特有的东西前面也会加@。
3. NS
Cocoa给其所有函数、常量和类型名称都添加了NS前缀,这个前缀显示其来自Cocoa而不是其他的工具包。使用前缀可以避免与C语言的名称冲突,使OC完全兼容C。
NS前缀的来历要追溯至此工具包还被称为NextSTEP的时候,当时它是NeXT公司的产品,苹果公司为不破坏NextSTEP代码的兼容性,继续使用NS前缀,可见,NS就像你我的阑尾一样。都属于历史遗存。
显然,自己在写代码的时候前面就不要加NS前缀啦,否则不是…..