OC笔记一:Objective-C简介
1、OC简介
全称:Objective-C,是扩充C的面向对象编程语言,主要用于iOS和Mac OS开发。
- C语言的基础上,增加了一层最小的面向对象语法
- 完全兼容C语言
- 可以在OC代码中混入C语言代码,甚至是C++代码
- 可以使用OC开发Mac OS X平台和iOS平台的应用程序
2、 OC语法概述
2.1关键字
每一种语言都有关键字,比如C语言的 flaot、int等等,那么oc有哪些关键字呢?
基本上所有关键字都是以@开头
下面列举一些常见的关键字,可以先预览一下,不用去翻资料查找它们的含义
@interface、@implementation、@end @public、@protected、@private、@selector @try、@catch、@throw、@finally @protocol、@optional、@required、@class @property、@synthesize、@dynamic self、super、id、_cmd、__block、__strong、__weak
2.2 字符串以@开头
比如@“Hello"是OC中的字符串,而"Hello"则是C语言中的字符串
2.3 其他语法

2.4 NSLog与printf的区别
- NSLog接收OC字符串作为参数,printf接收C语言字符串作为参数
- NSLog输出后会自动换行,printf输出后不会自动换行set方法和get方法
- 使用NSLog需要#import <Foundation/Foundation.h>
- 使用printf需要#include <stdio.h>
2.5 Foundation框架的作用
开发OC、iOS、Mac程序必备的框架
- 此框架中包含了很多常用的API(应用编程接口)
- 框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可
#import <Foundation/Foundation.h>
3、 OC与其他语言的区别
3.1 Objective-C同C的异同:
1、C作为一种结构化语言,层次清晰,便于按模块化方式组织程序,易于调试和维护;Objecive-C扩展了C 语言使它具备面向对象设计的能力,例如类、消息‘继承;同时在Objective-C的代码中可以有C和C++语句,它可以调用C的函数,也可以通过C++对象访问方法;
2、C表现能力和处理能力极强。可以直接访问内存的物理地址,进行位(bit)一级的操作;C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体—既可用于系统软件的开发,也适合于应用软件的开发;Objective-C可以实现底层系统编程,另一方面可以支持利用动态架构进行开发。
3.2 Objective-C同C++的异同:
1、单一继承:
和Java、Smalltalk一样,Objective-C不支持多重继承,而C++语言支持多重继承。
2、动态:
Objective-C是动态定型(dynamicaly typed),它的类库比C++容易操作。Objective-C 在运行时可以允许根据字符串名字来访问方法和类,还可以动态连接和添加类。
4、OC的学习方法
在掌握C语言之后,学习OC是比较轻松的。由于OC是面向对象的语言,C语言是面向过程语言,所以学完C语言之后,还需要掌握一些面向对象的知识。只要按照方法得当、循序渐进的学习,就可以学好。OC的学习大致可以分为这些个方面:
1、面向对象编程
2、类和对象
3、创建类和对象
4、set方法和get方法
5、类方法和对象方法
6、self等关键字
7、继承和多态
8、字符串简单的使用
9、分类Category
10、内存管理
11、协议代理
12、Block
13、单例
14、ARC
15、字符串的使用
16、Foundation框架
OC笔记一:Objective-C简介的更多相关文章
- 【web开发学习笔记】Structs2 Result学习笔记(一)简介
Structs2 Result学习笔记(一)简介 问题一 <struts> <constant name="struts.devMode" value=" ...
- Linux学习笔记之 Btrfs文件系统简介及使用
Btrfs 也有一个重要的缺点,当 BTree 中某个节点出现错误时,文件系统将失去该节点之下的所有的文件信息.而 ext2/3 却避免了这种被称为”错误扩散”的问题. Btrfs相关介绍: Btrf ...
- OC笔记一:Objective
1.OC简介 全称:Objective-C,是扩充C的面向对象编程语言,主要用于iOS和Mac OS开发. C语言的基础上,增加了一层最小的面向对象语法 完全兼容C语言 可以在OC代码中混入C语言代码 ...
- 015-OC基础语法-OC笔记
学习目标 1.[了解]Objective-C语言简介 2.[掌握]第一个OC程序 3.[掌握]OC中的字符串 4.[熟悉]OC中的一些玩意 5.[了解]面向过程与面向对象 6.[掌握]类的声明和实现 ...
- [原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- IOS学习笔记2—Objective C—类、属性、方法
以下是我学习IOS开发的一些笔记和心得,贴出来和大家一同分享,也希望大家能补充和纠错,共同进步 有Android和IOS开发问题也希望能和大家交流! Objective-C 1.OC是一门基于C的面向 ...
- Android Studio 学习笔记(二):布局简介和xmlns说明
初学Android Studio,是在b站看的教程视频,这里的笔记也是以其为基础的,个人强烈安利: [天哥]Android开发视频教程最新版 Android Studio开发 Android 布局简介 ...
- python学习笔记1之-python简介及其环境安装
python学习笔记之-python简介及其环境安装 最近几年python之火不用多说,最近开始利用时间自学python,在学习的过程中,按照自己的思路和理解记录下学习的过程,并分享出来,如果正好你也 ...
- [OC笔记] protocol之我的见解
OC中的protocol就是和JAVA中interface差不多的东西,但是又不是完全一样的.这个protocol常用来实现委托,也就是自己不实现,当事件产生的时候去回调委托者. 让委托者去执行响应的 ...
随机推荐
- Sql Server系列:触发器
触发器的一些常见用途: ◊ 强制参照完整性 ◊ 常见审计跟踪(Audit Trails):这意味着写出的记录不仅跟踪大多数当前的数据,还包括对每个记录进行实际修改的历史数据. ◊ 创建与CHECK约束 ...
- IOS数据存储之FMDB数据库
前言: 最近几天一直在折腾数据库存储,之前文章(http://www.cnblogs.com/whoislcj/p/5485959.html)介绍了Sqlite 数据库,SQLite是一种小型的轻量级 ...
- IOS数据存储之NSUserDefaults
前言: 作为从事Android开发人来说一定听说过SharedPreferences,然后要成为一名ios开发工程师来说咋能不知道NSUserDefaults!接下来让我们认识一下. NSUserDe ...
- scikit-learn 朴素贝叶斯类库使用小结
之前在朴素贝叶斯算法原理小结这篇文章中,对朴素贝叶斯分类算法的原理做了一个总结.这里我们就从实战的角度来看朴素贝叶斯类库.重点讲述scikit-learn 朴素贝叶斯类库的使用要点和参数选择. 1. ...
- Icinga使用总结
1. 在定义命令的时候,往往需要修改commands.cfg配置文件,如果使用NPRE插件监控远程服务器,其实,定义命令也没这么复杂 commands.cfg中有关check_nrpe的命令定义如下: ...
- JavaScript的全局变量与局部变量解析
一.JavaScript scope 的划分标准是function函数块,不是以 if.while.for来划分的 <script> function f1(){ alert(" ...
- 1Z0-053 争议题目解析346
1Z0-053 争议题目解析346 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 346.What is the impact of the results of the outp ...
- Cookie中的几个概念
1. Domain Domain表示Cookie所在的域(如:www.baidu.com),对于Cookie的访问是不能跨域的(如:我们无法在www.baidu.com下访问www.google.co ...
- Moon.Orm 5.0(MQL版)的高性能,将发言权交给你!
Moon.Orm 5.0性能问题,我将它交给关心它性能的您,让你自己测试,决不让你失望的. Moon.Orm 5.0 (MQL版) 版本维护及下载 (跟踪发布) Moon.Orm 5.0系列文章 火晋 ...
- 验证ASP.NET页生命周期时间的触发顺序
操作步骤: 在项目中创建文件lifeCycleValidation.aspx文件: 在文件lifeCycleValidation.aspx中添加代码,创建一个label控件,名字为lbText,代码如 ...