Objective-C 学习 (一):Objective-C 概述
1. OC在C的基础上新增了一些面向对象的语法,将C的复杂的、繁琐的语法封装的更为简单。且OC完全兼容C语言.
2. OC程序的源文件的后缀名是.m, m 代表message,代表OC中最重要的一个机制 —— 消息机制. C程序的源文件的后缀名为.c
3. main 函数仍然是OC程序的入口和出口.
4. #import指令
1). 以#开头,是一个预处理指令。
2). 作用:是#include指令的增强版,将文件的内容在预编译的时候拷贝写指令的地方。
3). 增强:同一个文件,无论#import多少次,只会包含一次。
4). 简要原理:#import指令在包含文件的时候,底层会先判断这个文件是否被包含,如果被包含就会略过,否则才会包含。
5. Foundation 框架
1). 框架是一个功能集合 苹果或者第三方事先将一些程序在开发程序时经常要用到的功能事先写好,把这些功能封装在1个1个的类或者函数之中。这些函数和类的集合就叫做框架。
2). Foundation:基础、基本。这个框架提供了一些最基本的功能。 输入和输出、一些数据类型。
6. 字符串NSString
1). C语言的字符串的存储方式
a. 使用字符指针
b. 使用字符数组存储
2). OC中设计了一个更为好用的用来存储字符串的一个类型 —— NSString
NSString 类型的指针变量,专门用来存储OC字符串的地址。
3). OC的字符串常量必须要使用一个前缀@符号
"jack" 这个是一个C语言的字符串。
@"jack" 这是一个OC字符串常量。
注意:NSString类型的指针变量,只能存储OC字符串的地址。
7. NS前缀
NextStep ---> Cocoa ---> Foundation 框架
8. @符号
1). 将C字符串转换为OC字符串
例如:"jack" @"jack"
2). OC中的绝大部分的关键字都是以@符号开头.
9. OC 中的数据类型
1). OC中支持C语言中所有的数据类型。
a. 基本数据类型
int、double、float、char
b. 构造类型
数组、结构体、枚举
c. 指针类型
int *p1;
d. 自定义类型
typedef
e. 空类型
void
2). BOOL 类型
a. 可以存储YES或者NO中的任意一个数据。
b. 一般情况下,BOOL 类型的变量用来存储条件表达式的结果。如果条件表达式成立,结果是YES,否则为NO。
3). Boolean 类型
a. 可以存储true或者false
b. 一般情况下,Boolean 类型的变量用来存储条件表达式的结果。如果条件表达式成立,结果是true,否则为false。
10. OC 的关键字
1). OC支持C语言中的全部关键字,并且效果一致。
2). OC也新增了一些关键字。OC中绝大数的关键字都是以@开头的,如@interface、@public
至此,OC的基本知识就了解的差不多了,也算是对OC入门了。
Objective-C 学习 (一):Objective-C 概述的更多相关文章
- OGG学习笔记01-基础概述
OGG学习笔记01-基础概述 OGG(Oracle Golden Gate),最近几年在数据同步.容灾领域特别火,甚至比Oracle自己的原生产品DataGuard还要风光,主要是因为其跨平台.跨数据 ...
- NLP&深度学习:近期趋势概述
NLP&深度学习:近期趋势概述 摘要:当NLP遇上深度学习,到底发生了什么样的变化呢? 在最近发表的论文中,Young及其同事汇总了基于深度学习的自然语言处理(NLP)系统和应用程序的一些最新 ...
- Objective -C学习笔记之字典
//字典:(关键字 值) // NSArray *array = [NSArray array];//空数组 // NSDictionary *dictionary = [NSDictionary d ...
- Objective -C学习笔记 之copy(复制)
//自定义类对象实现copy需要遵守copy协议(否则程序崩溃),实现必须实现的协议方法,里面的代码就决定了你的copy是深是浅 #import <Foundation/Foundation.h ...
- objective C 学习之02
1. 函数 -(void) HelloWorld:(BOOL)ishelloworld{ //干点啥 } 前面带有减号(-) 的方法为实例方法,必须使用类的实例才可以调用的.对应的有+号, 代表是类的 ...
- objective c 学习(一)
问题一:我在程序中看到大量的减号.中括号和NS****这种东西,他们是什么玩意儿? 1 减号(或者加号) 减号表示一个函数.或者方法.或者消息的开始,怎么说都行. 比如c#中,一个方法的写法可能是: ...
- (二)我的Makefile学习冲动&&编译过程概述
前言 一 年轻的冲动 二 学习曲线 1 Makefile基本语法 2 bash基础 3 world 三 编译过程概述 1 主机预装工具 2 编译host工具 3 编译交叉工具链 4 编译内核模块 5 ...
- [原创]java WEB学习笔记78:Hibernate学习之路---session概述,session缓存(hibernate 一级缓存),数据库的隔离级别,在 MySql 中设置隔离级别,在 Hibernate 中设置隔离级别
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [原创]java WEB学习笔记67:Struts2 学习之路-- 类型转换概述, 类型转换错误修改,如何自定义类型转换器
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- MySQL数据库学习: 01 —— 数据库的概述
壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...
随机推荐
- 关于ArrayList的5道面试题
我以面试官的身份参加过很多Java的面试,以下是五个比较有技巧的问题,我发现有些初级到中级的Java研发人员在这些问题上没有完全弄明白,似懂非懂.所以我写了一篇相关的文章,帮助初级Java研发人员弄清 ...
- 巩固java(五)----通过实例理解java多态
package duotai; class A{ public String show(){ return "A"; } } class B extends A{ public S ...
- Python 的 urllib.parse 库解析 URL
Python 中的 urllib.parse 模块提供了很多解析和组建 URL 的函数. 解析url urlparse() 函数可以将 URL 解析成 ParseResult 对象.对象中包含了六 ...
- Grafana简单使用
下载安装 Grafana也是用GO语言写的,无任何依赖,安装非常简单. 启动 sudo service grafana-server start 运行 直接访问:http://your_ip:3000 ...
- 【BZOJ 1002】: [FJOI2007]轮状病毒
题目大意:(略) 题解: 第一眼,这不是矩阵树裸体,看了看样例,心想3就有16,那100岂不是要上天…… 果然炸long long……emmmm该不会要打高精除吧……害怕,按照老师的话,不可能考高精除 ...
- BZOJ_1864_[Zjoi2006]三色二叉树_树形DP
BZOJ_1864_[Zjoi2006]三色二叉树_树形DP 题意: 分析:递归建树,然后DP,从子节点转移. 注意到红色和蓝色没有区别,因为我们可以将红蓝互换而方案是相同的.这样的话我们只需要知道当 ...
- Spring中bean的注入方式
首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入.依赖注入是指:让调用类对某一接口的实现类的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖. Spring ...
- java中的数组二分法
数组二分法意在以较快的速度查找到某个值的下标位置. 二分法的核心思想:找到一个数组的中间位置值,判断某个数值是在这个中间值的左边还是右边,如果是左边,将中间位置之前进行二分,二分后,结束位置变为原始中 ...
- 大白话5分钟带你走进人工智能-第四节最大似然推导mse损失函数(深度解析最小二乘来源)(2)
第四节 最大似然推导mse损失函数(深度解析最小二乘来源)(2) 上一节我们说了极大似然的思想以及似然函数的意义,了解了要使模型最好的参数值就要使似然函数最大,同时损失函数(最小二乘)最小,留下了一 ...
- PoiDocxDemo【Android将表单数据生成Word文档的方案之二(基于Poi4.0.0),目前只能java生成】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这个是<PoiDemo[Android将表单数据生成Word文档的方案之二(基于Poi4.0.0)]>的扩展,上一篇是根 ...