Browsed by
Month: 2016 年 3 月

iOS成长之路基础篇 – (5) 认识 OC 中的 Block

iOS成长之路基础篇 – (5) 认识 OC 中的 Block

这一篇,我将总结一下OC语言的一个亮点——Block类型。Block是iOS4 和Mac OS X 10.6以后引进的对C语言的扩展。Block在OC中其实也是对象,它封装了一段代码,这段代码在后面任何时机都能被调用。在Apple最新的Swift语言中也有一个相似的特性,叫闭包,也就是说现代的高级语言,基本都会有这种闭包式编程。下面,我们先详细说一说Block类型。

Block数据类型

block是用来保存一段代码,在后面的编码中可以使用中它完成一些功能。block可以作为函数的参数或者函数的返回值,其本质相当于一个函数,所以也可以带参数或者返回值,与C语言中的函数指针很类似。在Apple[……]

阅读全文

iOS成长之路基础篇 – (4) OC 内存管理MRC和ARC

iOS成长之路基础篇 – (4) OC 内存管理MRC和ARC

最近一直在坚持写博客,这些学习笔记主要是自己以前学习OC的过程中记下的笔记,现在整理的过程中就想,把这个写成博客。大牛同志写博客一年好几百篇,我的几年了才30篇不到,心里也鄙视了自己一把。最近却写的停不下来了,准备把这个系列的博客写完,一般两天基本出一篇,虽然比较基础,但是一篇下来大概也是需要两个小时左右整理。现在才知道写文章的人有多么辛苦。后面也希望自己能一直坚持写下去。

今天我总结的是Objective-C的手动内存管理和现在Apple已经全面支持的自动引用计数(自动内存管理)。好,下面我们进入正题。

准备工作

刚才说到,现在的iOS项目已经全面支持ARC,而且,Apple一向的[……]

阅读全文

iOS成长之路基础篇 – (3) OC 类的细节

iOS成长之路基础篇 – (3) OC 类的细节

前面的两篇已经算是把基本的语法规则总结完了,我准备在这篇里面总结一下OC关于类的一些细节信息,比如id关键字,类的加载,初始化等。写到这里,我想起了前几天微博上看到的有一位同学总结的iOS学习路线图,在这里我给出需要的同学链接:iOS学习路线图(曾宪华)。我这几天总结的几篇博客,其实只是iOS路线图上的一个点。希望大家能根据自己的情况把这个路线图上自己感兴趣的方向的技能都学习一遍。

id类型

在Objective-C 中,id关键字是一种特殊类型,我们称之为id类型,同时也叫做万能的指针,它就相当于[NSObject *]。这种类型被定义为指向对象的指针,在定义变量的过程中,id已经包含了[……]

阅读全文

iOS成长之路基础篇 – (2) 认识 Objective-C 的类

iOS成长之路基础篇 – (2) 认识 Objective-C 的类

上一篇中我总结了OC的基本语法中从C语言扩充来的知识,在这一篇中,我将总结OC的基本语法的使用。如何开发一个OC对象?

预备知识

首先,我想介绍一下在Mac OS X下面如何通过命令行编译链接OC文件:

第一个是编译:cc -c 源文件.m

接着链接:cc 源文件.o -framework Foundation

最后执行:./a.out

为什么后面跟着一个-framework Foundation?这是因为你是用到了一个框架Foundation,如果以后在开发中使用到了系统的框架,都可以这样引入,否则不能通过链接。

为什么这里是a.out?因为在类Unix系统[……]

阅读全文

iOS成长之路基础篇 – (1) 了解 Objective-C 语言

iOS成长之路基础篇 – (1) 了解 Objective-C 语言

2014年苹果发布了新的语言Swift,同时我又是一个喜欢玩转新东西的人。也是在这个时候,我进入了iOS开发的队列,开始学习Swift,开发iOS应用,现在已经有一个App在App Store上线。然后,在过去的将近两年的时间中,我一直没有深入玩转过苹果的元老语言Objective-C(后面简称OC),但是从编程语言排行榜来看,OC虽然一直再呈下降趋势,但是毕竟经过这么多年的沉淀,很多人还是不愿意抛弃他,学习新的语言,苹果目前也还在支持,并将在未来的一段时间支持,国内外的大部分公司还是以OC开发为主。所以这一段时间我就慢慢的把OC的语言从头到尾啃了一遍,那么今天的主角就是OC基础语言总结。本文[……]

阅读全文