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)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...
随机推荐
- 解决WordPress用户名密码都正确但点击登陆就清空密码的问题
作者:荒原之梦 问题产生的环境与问题描述: 今天我在浏览器的书签里将我保存的用于登陆WordPress的书签名字改了一下,之后再登陆WordPress就出现提示说Cookies被阻止,要启用Cooki ...
- APNs 推送原理及问题
http://bbs.csdn.net/topics/390461996 在 iOS 平台上,大部分应用是不允许在后台运行并连接网络的.在应用没有被运行的时候,只能通过 Apple Push Noti ...
- eclipse工具的使用心得
一.eclipse工具的使用 eclipse是一个开源的IDE,进行javaEE开发一般使用myeclipse插件比较方便 1. java代码的位置 1)选择工作空间workspace 选择一个文件夹 ...
- 当Ucenter和应用通信失败
http://blog.sina.com.cn/s/blog_775f158f010135uz.html 失败是常见的. 对于初次接触Ucenter的人来讲,添加一个自己的应用最头疼的就是发现通信失败 ...
- ftp研究
工作中经常用到ftp,最近闲下心来,仔细研究下ftp这个协议. FTP(文件传输协议)工作原理 目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP ...
- Python bytes数据类型
Python3 中文本是Unicode, 由str类型表示. 二进制数据由bytes类型表示(如视频文件). Python3 不会以任意隐式的方式 滥用str和bytes, 所以不能拼接字符串和字节包 ...
- 再谈.net的堆和栈---.NET Memory Management Basics
.NET Memory Management Basics .NET memory management is designed so that the programmer is freed fro ...
- java中&和&& | 和||的区别
我想很多人在学习java的时候,或者其他语言(如:C#,.Net等)都会遇到 &和&& 然而,如果你没有真正的理解他们的意思,这会给你思路上面带来很大的麻烦 在这篇blog中, ...
- nsqlookupd.go
) } l.Lock() l.httpListener = httpListener l.Unlock() httpServer := newHTTPServe ...
- bzoj 2500 幸福的道路 树上直径+set
首先明确:树上任意一点的最长路径一定是直径的某一端点. 所以先找出直径,求出最长路径,然后再求波动值<=m的最长区间 #include<cstdio> #include<cst ...