关于编程语言OC之9个基础知识点

这是《给自己的一份自学IOS开发的学习清单》中的《关于编程语言OC》读书笔记系列的第1篇。

入门务必记住这9点。

1、MAC操作系统上的整个开发环境成为Cocoa,Cocoa的开发语言是Objective-C,开发工具是Xcode

我以前搞不懂CocoaChina为何叫Cocoa,原来是因为Cocoa是Mac的开发环境,CocoaChina网站是全球成立最早规模最大的苹果开发中文站。

还有叫cocos的游戏引擎,Cocos是由触控科技推出的游戏开发一站式解决方案。可以通过cocos快速生成代码、编辑资源和动画,最终输出适合于多个平台的游戏产品。

2、OC需要在字符串“”前使用@

所以经常看到代码有@"welcom",@"确认",@"OK",这些玩意。

3、类定义了现实世界中的一些事物的抽象特点

类Class-对象Object \方法Method

类是对象的模型,对象是类的一个实例。

类是一种逻辑结构,对象是真正存在的物理实体。

网上有各种解释,什么小明是人类,小明他爸也是人类,小明的儿子是人类的实例之类的,这种例子……有兴趣可以google下。

4、面向对象的特质:封装、继承、多态

4.1封装:

把客观事物封装成抽象的类,编写成h文件跟m文件。

相信很多新手,看到各种h、m、xib、storyboard、plist、app、xctest这些文件类型名时,都有种想吐的感觉,看晕头了。

今天咱先记住h和m文件吧!h就是接口文件,m就是实现文件,2个文件配套共同形成类。

4.2继承:

通过继承创建的新类,称为“子类”或“派生类”。

被继承的类称为“基类”、“父类”、或”超类“

下面这张图先了解个大概:

4.3多态

多态是指同一个接口名称,但是体现为不同的功能。有2种方式:覆盖和重载。

这个后面会详细介绍到,这边也是先记个简单的概念。

5、类接口:一般写在m文件里

格式是这样的:

@interface 类名:父类名{ 变量定义; } 方法定义; @end

关于方法的格式:

(-)表示它是一个实例方法;

(+)表示它是一个类方法,其他代码可以直接调用类方法,而不用创建这个类的实例。

6、类实现,一般写在m文件里

格式:

@implementation 类名 方法实现代码; @end

7、对象声明的语法

类名 *var1, *var2,...;

alloc方法,获得内存空间;init方法,设置初值。

实例化对象需要需要发送2条消息,alloc及init,它们来自于NSObject父类。如:

Car *car=[[Car alloc]init];

8、oc方法的调用:也称为给这个类或者实例发消息,类或者实例被称为“接收方”,oc允许在一个方法调用中嵌套另一个方法调用

记住格式:方括号[]

[实例 方法];

[类名 方法名];

完整的方法调用格式:

[接收方 名字1:参数1 名字2:参数2,...]

访问属性的2种方式:

a、点符号

car.name=@"sport car";

NSLog(@“car is %@”,car.name);

b、标准的OC消息

[car setName:@"New car name"];

NSLog(@"car.name is %@",[car name]);

9、指令符@

很多,不好记。。碰到的时候再查阅下这个表格:

大概花了2个小时学习了下。不理解的内容,先记住。后面再深入理解。


设计+科技=自在园实验室。

原文发布于微信公众号 - 科技Mix设计Lab(Design-AI-Lab)

原文发表时间:2016-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

由PHP小tip引发的思考

前段时间看到有关于CTF中PHP黑魔法的总结,其中有一段只有介绍利用方法但是没有详细介绍为什么,我想了一下,思考如下,如果不对,请各位大佬多多指正~ 原话如下:...

2096
来自专栏Java帮帮-微信公众号-技术文章全总结

02.工厂模式/抽象工厂模式

工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在...

3123
来自专栏Python研发

一起来学Go --- (go的简介以及环境的安装)

相信大家,看到这篇文章的时候,已经自己在百度百科了解了go的发展史已经特性,再次我依然。。。。得哔哔叨一会。   ^.^

1341
来自专栏云飞学编程

关于一道面试题的极其无聊的python算法实现

就找3个条件,就可以得出我们想要的结果,实话说,开始我也是很懵逼,后来仔细想了想,还是有可能的,我们可以这样来做

4782
来自专栏顶级程序员

6 个新奇的编程方式,改变你对编码的认知

源 | Reddit 译 | OSC - 周其 我时不时会发现一种编程语言的不同用法它有时候会改变我对编程的看法啊。这篇文章中,我想分享一下让我惊讶的发...

2874
来自专栏木可大大

漫谈计算机语言

面对需求人员不断提出的变态需求,软件开发人员的主要工作就是将需求人员口中或文档中的自然语言翻译成计算机能够理解的形式语言。自然语言指的是人类的语言,比如汉语、英...

54124
来自专栏开源优测

在Selenium Webdriver中使用XPath Contains、Sibling函数定位

前言 在一般情况下,我们通过简单的xpath即可定位到目标元素,但对于一些既没id又没name,而且其他属性都是动态的情况就很难通过简单的方式进行定位了。 在这...

2353
来自专栏疯狂的小程序

微信小程序 template 模板功能实现循环

官网案例是直接用对象扩展运算符传递一些简单数据;

5697
来自专栏编程

Python萌新在九九乘法表中栽过的跟头

对于一个只听过一节python视频课的新手,写出九九乘法表毫无疑问是一件充满挑战的事情,所以写之前我在菜鸟教程中看了一些基础知识,看了点儿之后觉得不是特别难,于...

2438
来自专栏Java后端技术栈

如何通过软引用和弱引用提升JVM内存使用性能!

初学者或初级程序员在面试时如果能证明自己具有分析内存用量和内存调优的能力,这相当有利,因为这是针对5年左右相关经验的高级程序员的要求。而对于高级程序员来说,如果...

1022

扫码关注云+社区

领取腾讯云代金券