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. Premiere Pro CC问题集,不断更新

    1.Premiere Pro CC不好用? 是的.原因如下: 1.1 Adobe公司不注重用户体验,不注重工作流程,导致这款软件的用户体验很差,设计也很烂.对比Adobe公司当年用户体验最好的软件 F ...

  2. Springmvc+Spring+Hibernate搭建方法

    Springmvc+Spring+Hibernate搭建方法及example 前面两篇文章,分别介绍了Springmvc和Spring的搭建方法,本文再搭建hibernate,并建立SSH最基本的代码 ...

  3. QTP特点有哪些?

    QTP特点有哪些? 浏览:77 | 更新:2013-06-19 12:35 QTP是一个侧重于功能的回归自动化测试工具:提供了很多插件,如:.NET的,Java的,SAP的,Terminal Emul ...

  4. 捣鼓一个Ajax请求管理器

    随着前端技术的不断发展,现在做的项目里很多页面里都会有大量的ajax请求,随之而来就有了一些问题: 1.没必要的ajax请求怎么处理? 2.ajax链式调用怎么维护? ajax链式调用最原始的写法: ...

  5. ASP.NET WebApi 开放数据

    概述 开放式数据协议(OData) 是用于在 web 数据访问协议.它提供统一的方式来构造数据. 查询的数据和操纵数据集通过 CRUD 操作.它支持 AtomPub (XML) 和 JSON 格式.它 ...

  6. C#继承关系中【方发表】的创建和调用

    —C#继承关系中[方发表]的创建和调用 Insus.NET实现一个最炫最原创的验证码.你可以从下面的一步一步的演译. 实现一个验证码,需要了解的是,它最基本是随机产生字符串:<在ASP.NET ...

  7. CSS3(transform/transition/animation) 基础 总结

    1.CSS3新增的样式(常用) //颜色透明表示rgba(0,0,0,.5) //圆角(定义角半径)border-radius: 5px 10px 15px 20px; //文字/盒子阴影text-s ...

  8. Vi编辑器入门

    Vi编辑器入门   vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows上的记事本! 1.vi的基本概念  基本上vi可以分为三种状态,分别是命令模式(command mode ...

  9. nc 简单的使用

    非常强大的网络工具nc netcat 下面自己总结了它的几种常用用法(参考了它的man): 1.聊天 ClientA: nc - ClientB: nc A'sIP 1234 2.数据传输 Clien ...

  10. 开发者所需要知道的iOS7 SDK新特性

    iOS 7 春风又绿加州岸,物是人非又一年.WWDC 2013 keynote落下帷幕,新的iOS开发旅程也由此开启.在iOS7界面重大变革的背后,开发者们需要知道的又有哪些呢.同去年一样,我会先简单 ...