OC之知识储备篇
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之知识储备篇的更多相关文章
- 剑指Offer——中国银行面试知识储备
剑指Offer--中国银行面试知识储备+面试内容 事件介绍 时间:2016.11.23 08:30 地点:北京市海淀区永丰路299号南门(中国银行软件中心) 事件:中国银行面试(中英文面试) 注意事项 ...
- 【Vuejs】350- 学习 Vue 源码的必要知识储备
前言 我最近在写 Vue 进阶的内容.在这个过程中,有些人问我看 Vue 源码需要有哪些准备吗?所以也就有了这篇计划之外的文章. 当你想学习 Vue 源码的时候,需要有扎实的 JavaScript 基 ...
- 为WCF增加UDP绑定(储备篇)
日前我开发的服装DRP需要用到即时通信方面的技术,比如当下级店铺开出零售单时上级机构能实时收到XX店铺XX时XX分卖出XX款衣服X件之类的信息,当然在上级发货时,店铺里也能收到已经发货的提醒.即时通信 ...
- C#算法设计之知识储备
前言 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/669 访问. 算法的讨论具有一定的规则,其中也包含一些不成文的约定 ...
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
- Vertica 数据库知识汇总篇
Vertica 数据库知识汇总篇(更新中..) 1.Vertica 集群软件部署,各节点硬件性能测试 2.Vertica 创建数据库,创建业务用户测试 3.Vertica 数据库参数调整,资源池分配 ...
- iOS 阶段学习第11天笔记(OC基础知识)
iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import 用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ...
- Swift 2.0 字符串学习笔记(建议掌握OC字符串知识的翻阅)
自己公司开现在使用OC语言在写,但Swift似乎是苹果更推荐使用的开发语言,估计也是未来开发的趋势,自己以前有接触swift,但又由于公司的项目赶,也没有时间去好好地学习这款开发语言.现在年底了,项目 ...
- SQL数据库基础知识-巩固篇<一>
SQL数据库基础知识-巩固篇<一>... =============== 首先展示两款我个人很喜欢的数据库-专用于平时个人SQL技术的练习<特点:体积小,好安装和好卸载,功能完全够用 ...
随机推荐
- 快速构建Windows 8风格应用18-基础控件I
原文:快速构建Windows 8风格应用18-基础控件I 本篇博文主要介绍Windows 8风格应用开发中常用的几种基础控件. ProgressRing: ProgressRing控件常见的效果图: ...
- C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站
原文:C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站 我们经常会碰到需要程序模拟登录一个网站,那如果网站需要填写验证码的要怎样模拟登录呢?这篇文章 ...
- php中的$_GET怎样获取带有井号“#”的參数
<?php echo $_GET['key']; ?> 当url为http://test.com/c.php?key=999时,正常输出:999 当url为http://test.com/ ...
- Oracle左连接,右连接
Oracle左连接,右连接 数据表的连接有: 1.内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2.外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制 ...
- svn外网访登录不进去提示证书错误Authorization Required
为了外网能访问内网svn.于是坐在外网端口映射.但是奇怪的是内网能访问,外网总也登录不进去.以为是浏览器版本低 但是其他浏览器也一样.最后客户端也登录不进去.提示报错: Authorization ...
- MVC Bootstrap极速开发框架
ASP.NET MVC Bootstrap极速开发框架 前言 每次新开发项目都要从头开始设计?有木有一个通用的快速开发框架?并且得是ASP.NET MVC And Bootstrap?数据库不要手工 ...
- 把《C语言接口与实现》读薄之第一章:引言
1.1文学程序 文学程序(literate program):接口及其实现的代码与对其进行解释的正文交织在一起.文学程序由英文正文和带标签的程序代码块组成.例如, 〈compute x * y〉≡ s ...
- get 新技能
找usaco各种月赛的数据戳这里:ace.delos.com/NOV06 这里表2006.11的数据,其余的数据同上搜索 月赛题目http://pan.baidu.com/share/link?sha ...
- Bug Tracker
Bug Tracker 使用笔记(有图有真相) 目的:管理Bug,完善业务流程. 前提条件:BugTracker是基于IIS和SQL Server和Asp.Net的.相当于一个Web端的管理系统. ...
- [译]反-反汇编 & 混淆 #1: 苹果没有遵循自己制定的Mach-O规范?
原文地址:http://reverse.put.as/2012/02/02/anti-disassembly-obfuscation-1-apple-doesnt-follow-their-own-m ...