1. Objective-C是基于C语言的.

a. 在C语言的基础之上新增了面向对象的语法.

b. 将C语言中复杂的、繁琐的语法封装的更为简单.

2. Objective-C程序的源文件的后缀名.m  message  消息机制.

C程序的源文件的后缀名是.c

3. main函数仍然是Objective-C程序的入口和出口.

main函数的参数可以有 也可以没有.

参数的功能: 在终端单独运行程序的时候 可以让用户直接传入一些数据进来.

返回值: 代表程序结束的状态. 0代表正常结束. 非0代表非正常结束

4. #import指令

1). 是以#开头,所以它是1个预处理指令.

在预编译的时候执行.

2). #import指令是#include指令的增强版.

3). 作用: 将指定的文件的内容拷贝到写指令的地方.

4). 增强:

使用#import指令包含文件的时候,无论这个文件被#import多少次.

这个文件最终只会被包含1次.

#include指令.要想实现这个效果,就必须要配合条件编译指令才可以.

5). 用法

<>

""

5. 框架

是苹果或者第三方事先将程序员在开发过程中经常要用到的功能写好.

表现成1个1个的类或者函数.

这些类型和函数的集合叫做框架.

有点像C语言的函数库.

Foundation: 基础 提供了OC中最基础的语法支持. 最基本的功能 输入 输出.数据类型.

AVFoundation: Audio Video

UIKit: 做界面的

CroeLocation: 定位

....

Founation框架: 基础基本的意思.

提供了OC中最基础的语法支持

最基本的功能 输入 输出.数据类型.

如果想要在OC中使用某个框架中的功能,就先将这个框架的头文件引进来.

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/Foundation.h

Foundation框架中有很多很多的头文件.

Foundation.h这个头文件中 包含了Foundation框架中的所有的头文件.

所以,只要包含Foundation.h这个头文件,就相当于包含了Foundation框架中的所有的头文件.

所以,只要包含Foundation.h这个头文件,就可以使用Foundation框架中的所有的功能.

6. 自动释放池.

@autoreleasepool

可以将其删除. 或者把代码写在这个池中.

7. NSLog()函数.

1). 这是Foundation框架中提供的一个函数.

2). 作用: 是printf函数的增强版.向控制台输出信息的.

3). 语法格式:

NSLog(@"格式控制字符串",变量列表);

最简单的用法.

NSLog(@"输出信息");

4). 增强的地方.

a. 输出的信息.不仅仅是指定的信息,还有别的信息.

2016-03-14 10:06:43.218 Test[723:578343] 大家好!

这句话的输出的时间.

程序的名称.

程序的进程ID PID  Process ID. 1个正在运行的程序就是1个进程.

线程ID.

空格之后,才是真正的输出内容.

b. 输出完信息以后,会自动换行.

c. printf函数可以做的事情,它也可以做.

仍然可以使用printf函数的占位符来输出变量的值.

使用方法是一模一样的.

还可以输出OC中新增的数据类型的变量的值.

5). 注意的地方

a. NSLog函数的第1个参数是1个字符串,这个字符串的前面一定要加1个@前缀

b. 如果在后面加了1个'\n'换行符,那么这个时候.自动换行就会失效

6). NSLog()函数就是来替换printf函数的.

8. OC中的字符串

1). C语言的字符串的存储方式.

a. 使用字符数组.

b. 使用字符指针来存储.

2). OC专门设计了1个类型来保存字符串数据.

NSString

使用NSString的指针变量就可以来保存OC的字符串.

专门用来存储OC字符串的地址的.

3). OC的字符串常量.

a. OC中的字符串常量必须要使用@符号作为这个字符串的前缀.

@"jack" OC中的字符串常量

"jack"  C语言中的字符串常量.

b. NSString指针只能保存OC字符串常量的地址.

NSString *str = @"jack"; 这样是可以的.

NSString *str = "rose"; 这样是不行的. "rose"是1个C字符串.

str指针是1个NSString指针. 只能保存OC字符串.

c. 必须要区分C串和OC串.

"hack"  C串

@"rose" OC串

4). 总结.

在OC语言中,专门设计了1个类型叫做NSString来保存字符串.

但是只能保存OC字符串.

字符串常量加1个@前缀.这样的字符串我们才叫做OC字符串.

NSString *str = @"jack";

5). 注意.

1). NSLog函数的第1个参数是1个NSStirng类型的.所以.在前面要加1个@符号才是NSString

2). 如果要使用NSLog函数输出NSString字符串,那么就使用格式控制符 %@

9. NS前缀来源

NextStep --> cocoa --> NS

10. @符号

1). 将C字符串转换为OC字符串

@"jack"

2). OC在C的基础之上,新增了一些关键字.新增的这些关键字大部分都是以@符号开头.

@interface

@implementation

@public

......

11. 注释.

单行注释

多行注释.

Vvdocumenter(注释插件)

12. OC中也可以定义函数.并且定义的方式一模一样.

OC之知识储备篇的更多相关文章

  1. 剑指Offer——中国银行面试知识储备

    剑指Offer--中国银行面试知识储备+面试内容 事件介绍 时间:2016.11.23 08:30 地点:北京市海淀区永丰路299号南门(中国银行软件中心) 事件:中国银行面试(中英文面试) 注意事项 ...

  2. 【Vuejs】350- 学习 Vue 源码的必要知识储备

    前言 我最近在写 Vue 进阶的内容.在这个过程中,有些人问我看 Vue 源码需要有哪些准备吗?所以也就有了这篇计划之外的文章. 当你想学习 Vue 源码的时候,需要有扎实的 JavaScript 基 ...

  3. 为WCF增加UDP绑定(储备篇)

    日前我开发的服装DRP需要用到即时通信方面的技术,比如当下级店铺开出零售单时上级机构能实时收到XX店铺XX时XX分卖出XX款衣服X件之类的信息,当然在上级发货时,店铺里也能收到已经发货的提醒.即时通信 ...

  4. C#算法设计之知识储备

    前言 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/669 访问. 算法的讨论具有一定的规则,其中也包含一些不成文的约定 ...

  5. Oracle 数据库知识汇总篇

    Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...

  6. Vertica 数据库知识汇总篇

    Vertica 数据库知识汇总篇(更新中..) 1.Vertica 集群软件部署,各节点硬件性能测试 2.Vertica 创建数据库,创建业务用户测试 3.Vertica 数据库参数调整,资源池分配 ...

  7. iOS 阶段学习第11天笔记(OC基础知识)

    iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import  用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ...

  8. Swift 2.0 字符串学习笔记(建议掌握OC字符串知识的翻阅)

    自己公司开现在使用OC语言在写,但Swift似乎是苹果更推荐使用的开发语言,估计也是未来开发的趋势,自己以前有接触swift,但又由于公司的项目赶,也没有时间去好好地学习这款开发语言.现在年底了,项目 ...

  9. SQL数据库基础知识-巩固篇<一>

    SQL数据库基础知识-巩固篇<一>... =============== 首先展示两款我个人很喜欢的数据库-专用于平时个人SQL技术的练习<特点:体积小,好安装和好卸载,功能完全够用 ...

随机推荐

  1. PHP 16: MySql的数据库访问

    原文:PHP 16: MySql的数据库访问 本章介绍PHP访问MySql的方法.如果你对MySQL不是很清晰,可以参看PHP 17: MySQL的简单介绍.对于数据库的操作,无非就是以下几个点: 如 ...

  2. PDF解决方案(1)--文件上传

    相关专题链接 PDF解决方案(1)--文件上传 PDF解决方案(2)--文件转PDF PDF解决方案(3)--PDF转SWF PDF解决方案(4)--在线浏览 前言:最近参与了一个项目,客户要求把系统 ...

  3. [译]Java 垃圾回收介绍

    说明:这篇文章来翻译来自于Javapapers 的Java Garbage Collection Introduction 在Java中,对象内存空间的分配与回收是由JVM中的垃圾回收进程自动完成的. ...

  4. Android_WebServices_介绍

    本博文为子墨原创,转载请注明出处! http://blog.csdn.net/zimo2013/article/details/38036289 1.WebService的介绍 WebService为 ...

  5. 使用DateSet下载Excel

    这里我们使用Microsoft.Office.Interop.Excel.dll下载Excel,没有引用可点击下载 关键代码,ExcelHelper类 using System; using Syst ...

  6. RabbitMq install on Centos6.3

    安装服务(root) step 1:  启用EPEL:EPEL是一个Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux),EPEL是 ...

  7. asp.net请求响应模型原理随记回顾

    asp.net请求响应模型原理随记回顾: 根据一崇敬的讲师总结:(会存在些错误,大家可以做参考) 1.-当在浏览器输入url后,客户端会将请求根据http协议封装成为http请求报文.并通过主sock ...

  8. 利用Readability解决网页正文提取问题

    分享: 利用Readability解决网页正文提取问题   做数据抓取和分析的各位亲们, 有没有遇到下面的难题呢? - 如何从各式各样的网页中提取正文!? 虽然可以用SS为各种网站写脚本做解析, 但是 ...

  9. Step one : 熟悉Unix/Linux Shell 常见命令行 (三)

    3.学会使用一些管理命令 ps/top/lsof/netstat/kill/tcpdump/iptables/dd 端口查看 ps -- process status ps aux  观察程序所有程序 ...

  10. A Free , Fast and Small Automatic Formatter for C , C++ , C# , Java Source Codes

    A Free , Fast and Small Automatic Formatterfor C , C++ , C# , Java Source Codes Indenting source cod ...