mac切换中英文输入法默认是Ctrl+空格键.


预处理指令的执行时机是在编译之前。在编译之前执行预处理指令。

#import指令是包含文件,将指定的文件的内容在预编译的时候拷贝到写指令的地方。

#import指令无论把一个文件import了多少次,它只会包含一次。include指令如何实现这个效果?

#include指令必须要配合条件编译指令才能实现只拷贝一次效果。而咱们的#import指令不需要。

#import指令和#include的指令的区别是:import指令无论你去包含多少次,它只会包含一次。上课的思路得跟着老师来。


//
// main.m
// Day01-OC基础语法
//
// Created by blueheart on 17/7/2.
// Copyright © 2017年 itcast. All rights reserved.
//
/*
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指令在包含文件的时候,底层会先判断这个文件是否被包含 如果被包含就会略过 否则才会包含. */
#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 ;
}
//
// itcast.h
// Day01-OC基础语法
//
// Created by blueheart on 17/7/2.
// Copyright © 2017年 itcast. All rights reserved.
// #ifndef itcast_h
#define itcast_h #include <stdio.h>
void sayHi();//函数的声明,不实现了没有意思 //
#endif /* itcast_h */
//
// itcast.c
// Day01-OC基础语法
//
// Created by blueheart on 17/7/2.
// Copyright © 2017年 itcast. All rights reserved.
// #include "itcast.h"

07_传智播客iOS视频教程_#import指令的更多相关文章

  1. 12_传智播客iOS视频教程_注释和函数的定义和调用

    OC的注释和C语言的注释一模一样.它也分单行注释和多行注释. OC程序里面当然可以定义一个函数.并且定义的方式方法和调用的方式方法和我们C语言是一模一样的.OC有什么好学的?一样还学个什么呢? 重点是 ...

  2. 09_传智播客iOS视频教程_自动释放池与NSLog函数

    不要管什么是自动释放池,现在给你讲你也听不懂.就业班才讲,不要知道太多,知道太多对你不好.电影里面死的最惨的人就是知道最多的人.把代码写到自动释放池里面就可以了.NSLog是printf的增强版,它增 ...

  3. 06_传智播客iOS视频教程_源文件后缀名和main函数

    OC与C语言的不同. 把OC程序运行起来,CPU只会找main函数.并且只会执行main函数当中的代码.当main函数的代码执行完毕之后这个程序就自动结束掉了. main函数的参数是可以让我们在运行程 ...

  4. 01_传智播客iOS视频教程_课程介绍与知识点回顾

    OC语法中static关键字不能修饰属性,也不能修饰方法,只能修饰方法中的局部变量.static修饰局部变量之后把局部变量变成静态变量.当方法执行完之后这个变量不会被回收.下次再执行这个方法的时候这个 ...

  5. 05_传智播客iOS视频教程_第一个OC程序

    Cocoa Application开发的是带界面的程序. OC是完全兼容C语言的,但是C语言里面是不能写OC的东西的. OC和C的第一个区别,就是源文件的后缀名的区别.OC程序的源文件的后缀名是.m, ...

  6. 19_传智播客iOS视频教程_类和对象

    什么是类?什么是对象? 看的见.摸的着.拿过来就可以直接使用.例如报纸就是一个对象. 学生这个东西可不可以只是指一个?就只有那一个才是学生.不是的,学生是有很多个的.它是对一类人的统称.类是统称.所以 ...

  7. 08_传智播客iOS视频教程_Foundation框架

    比如产生随机数.这个功能要你写吗?不用,因为苹果已经写好了.后面想开发一个ios程序,往界面上放一个按钮,实际上这个按钮不用你写别人已经写好了,你就拿过来拖一下就可以了. 框架是1个功能集 苹果或者第 ...

  8. 11_传智播客iOS视频教程_NS前缀和@符号

    NS前缀的有NSLog和NSString Cocoa就是用来开发带界面的应用程序. Foundation框架之中的类.函数绝大多数都是从NextStep来的.看到NS前缀就知道这个类是从哪里来的.是很 ...

  9. 10_传智播客iOS视频教程_NSString

    从今天开始不会再去用C语言当中的字符串.因为OC当中设计了一种更为好用的存储字符串的变量. C的字符串和OC的字符串是有区别的. NSString类型的指针变量,只能存储OC字符串的地址.第一步是声明 ...

随机推荐

  1. hdu4352 XHXJ's LIS(数位DP + LIS + 状态压缩)

    #define xhxj (Xin Hang senior sister(学姐)) If you do not know xhxj, then carefully reading the entire ...

  2. Android应用的权限配置和权限列表

    权限配置写在Mainifest.xml文件中: <?xml version="1.0" encoding="utf-8"?> <manifes ...

  3. ES6__数据结构 Set

    /* 数据结构 Set */ /* *集合的基本概念:集合是由一组无序且唯一(即不能重复)的项组成的.这个数据结构使用了与有限集合相同的数学概念,应用在计算机的数据结构中. *特点:key 和 val ...

  4. 【转载】js中对象的使用

    原文链接:http://www.jb51.net/article/90256.htm[侵删] 简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一 ...

  5. c++ 实现 key-value缓存数据结构

    c++ 实现 key-value缓存数据结构 概述 最近在阅读Memcached的源代码,今天借鉴部分设计思想简单的实现了一个keyvalue缓存. 哈希表部分使用了unordered_map,用于实 ...

  6. HDU 5668 Circle

    中国剩余定理. 可以手动模拟一下每一次开始的人的编号和结束的人的编号. 每次删掉一个人,对剩下的人重新编号. 这样一次模拟下来,可以得到n个方程 形如:(u[i]+k)%(n-i+1)=v[i] 化简 ...

  7. java开发面试大全刷题整理

    题目源自Java团长公众号,内容个人整理,来源于各大博客,未经允许,不准摘抄,仅供分享,不做商业使用. 本分享多数为浅层知识体系,更为底层的还请自行多写写代码,若有不对之处,望广大的人才指点,不喜勿喷 ...

  8. 使用Spring定时任务并且通过AOP监控任务执行情况

    原文:http://www.open-open.com/code/view/1426250803279 本文讲的是通过Spring注解的方式实现任务调度.只要引入了spring-context包就能够 ...

  9. CentOS里route命令详解

    Route 功能简述:linux系统中的route命令能够用于IP路由表的显示和操作.它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口,如eth0.当使用"add&q ...

  10. leetCode 67.Add Binary (二进制加法) 解题思路和方法

    Given two binary strings, return their sum (also a binary string). For example, a = "11" b ...