比如产生随机数。这个功能要你写吗?不用,因为苹果已经写好了。后面想开发一个ios程序,往界面上放一个按钮,实际上这个按钮不用你写别人已经写好了,你就拿过来拖一下就可以了。
框架是1个功能集 苹果或者第三方事先将一些程序在开发程序的时候经常要用到的功能事先写好.把这些功能封装在1个1个的类或者函数之中.主要是类.
一个框架就是一个功能集。这个功能集苹果写了很多功能在里面。我们要使用这些功能的话不需要去写直接调用就可以了。功能集合。
后面会学很多框架,不同的框架里面的功能是用来完成不同的事情的。
Foundation框架里面肯定有很多类或者是函数。每一个函数提供不同的功能。每一个类提供不同的功能。里面的功能很牛逼,以你目前的道行肯定写不出来的。要用的功能不需要自己写只要直接调用就可以了。
Foundation框架里面提供了一些最基础的功能。包括一些最常用的类都是定义在Foundation框架里面。
C语言里面说过,要用函数库里面的一个函数的话,要把函数的头文件引进来。如果你要使用Foundation框架里面的东西的话,你要把Foundation框架里面的头文件引进才可以。
#import <Foundation/Foundation.h>
看起来是要把这个文件的内容包含到写指令的地方。Foundation指的是Foundation框架,就是把Foundation框架里面的Foundation.h这个头文件包含到我们就可以了。
#import <Foundation/Foundation.h>
实际上是把Foundation.h这个头文件所有的内容全部的拷贝到这个地方。
Foundation框架里面有很多头文件。 在Foundation.h这个头文件里面包含了其他的所有的头文件。所以你只要去包含这个Foundation.h就相当于把Foundation框架中的所有的头文件都包含了。因为Foundation.h里面包含了Foundation框架当中其他的头文件。所以你只要包含Foundation.h,就相当于包含了Foundation框架当中的所有的头文件。
/* 1.OC相对于C a.在C的基础之上新增了一小部分面向对象的语法. b.将C的复杂的、繁琐的、可恶的语法封装的更为简单. c.OC完全兼容C语言. 2.OC程序的源文件的后缀名是.m m代表message 代表OC中最重要的1个机制 消息机制. C程序的源文件的后缀名.c 3.main函数仍然是OC程序的入口和出口. int类型的返回值 代表程序的结束状态.返回值0是正常结束. main函数的参数:仍然可以接收用户在运行程序的时候传递数据给程序内部. 参数也可以不要. 4. #import指令 1).以#号开头,是一个预处理指令. 2).作用: 是#include指令的增强版. 将文件的内容在预编译的时候拷贝到写指令的地方. 3).增强: 同1个文件无论#import多少次,只会包含一次. 如果#include指令要实现这个效果 就必须要配合条件编译指令来实现. 而#import指令只需要直接包含就可以 其他什么都不用做. 4).简要原理: #import指令在包含文件的时候,底层会先判断这个文件是否被包含 如果被包含就会略过 否则才会包含. 5. 框架 1). 是1个功能集 苹果或者第三方事先将一些程序在开发程序的时候经常要用到的功能事先写好.把这些功能封装在1个1个的类或者函数之中. 这些函数和类的集合久叫做框架. 有点像c语言的函数库. 2). Foundation框架. Foundation: 基础 基本. 这个框架中提供了一些最基础的功能 输入和输出. 一些数据类型. Foundation.h的路径: /Volumes/Xcode/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/Foundation.h Foundation.h这个文件中包含了Foundation框架中的其他的所有的头文件. 所以,我们只要包含Foundation.h,就相当于包含了Foundation框架中所有的头文件. 那么Foundation框架中的所有的函数和类就可以直接使用. */ #import <Foundation/Foundation.h> //#include "itcast.h" //#include "itcast.h" //#include "itcast.h" //#include "itcast.h" #import "itcast.h" #import "itcast.h" #import "itcast.h" #import "itcast.h" #import "itcast.h" #import "itcast.h" #import "itcast.h"//无论import多少次 最终编译器只会把文件的内容包含一次 这就是import指令牛叉的地方 //int main(int argc, const char * argv[]) { int main() { @autoreleasepool { // insert code here... NSLog(@"Hello, 传智播客!"); } return 0; }
// // itcast.c // Day01-OC基础语法 // // Created by blueheart on 17/7/3. // Copyright © 2017年 itcast. All rights reserved. // #include "itcast.h"
// // itcast.h // Day01-OC基础语法 // // Created by blueheart on 17/7/3. // Copyright © 2017年 itcast. All rights reserved. // #ifndef itcast_h #define itcast_h #include <stdio.h> #endif /* itcast_h */