Object-C
文章平均质量分 79
Jack_GS
因为苹果,所以iOS。
这是一个有空写写的软件开发博客。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《Object-C编程全解》笔记二:基于引用计数的内存管理
基于引用计数的内存管理原创 2017-02-17 19:00:08 · 395 阅读 · 0 评论 -
iOS 多线程安全数组
iOS-SDK只提供了非线程安全的数组。如果要多线程并发的使用一个数组对象就必须要加锁。在多线程下使数组安全,就是通过给数组的访问和修改添加同步限制,使数组多线程安全。转载 2017-03-15 17:14:53 · 3717 阅读 · 0 评论 -
iOS NSObject中forwardInvocation消息重定向
NSObject是大多数系统 api的基类,现在介绍一下它的forwardInvocation功能。在obj-c中我们可以向一个实例发送消息,实例收到消息后会进行一些处理。比如我们想调用一个方法,便向这个实例发送一个消息,实例收到消息后,如果能respondsToSelector,那么就会调用相应的方法。如果不能respond一般情况下会crash。今天要的,就是不让它crash。原创 2017-03-15 16:01:04 · 2141 阅读 · 0 评论 -
iOS Runtime原理及使用
RunTime简称运行时。OC就是运行时机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。原创 2017-02-19 16:53:41 · 522 阅读 · 0 评论 -
iOS 根类NSObject
根类不从其它类继承,但是类层次中的所有其它类都最终从根类继承下来。根类连同Objective-C语言,是Cocoa直接访问Objective-C运行环境或与之交互的基本途径。仅凭Objective-C语言和运行环境并不足以构造哪怕是最简单的面向对象的程序,至少是不容易的。还缺少一些东西:即所有对象公有的基本行为和接口的定义。根类正是提供了这些定义转载 2017-03-13 20:33:33 · 1248 阅读 · 0 评论 -
iOS 面向对象编程的三大特征
对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。原创 2017-03-13 21:13:36 · 1567 阅读 · 0 评论 -
iOS 框架类关系图及iOS对象详解
Cocoa是OS X和 iOS操作系统的程序的运行环境,在iOS正确的说法是Cocoa Touch。是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发中你可以使用各种语言;也不是开发工具,你可以在命令行上就可以创建Cocoa程序。Cocoa程序可以这么说,它是由一些对象组成,而这些对象的类最后都是继承于它们的根类 :NSObject。而且它们都是基于Objective-C运行环境的。iOS中,Cocoa众多框架中最重要最基本的两个框架是:Foundation 和 UIKit。转载 2017-02-09 10:25:51 · 2395 阅读 · 0 评论 -
iOS 类继承时self和super调用方法的问题
如果想在一个方法中调用当前类的方法,可以使用self,如果调用当前类的父类的方法,可以使用super。如果在这些类中存在继承关系的时候,使用self和super调用方法的时候需要格外注意。原创 2017-02-09 16:45:27 · 2706 阅读 · 1 评论 -
iOS 深度解析内省机制(反射)
iPhone内省机制是本文要介绍的内容,从评估继承关系、方法实现和协议遵循、对象的比较等方面来详细的学习iPhone内省机制,我们先来看详细内容。内省(Introspection)是面向对象语言和环境的一个强大特性,Objective-C和Cocoa在这个方面尤其的丰富。内省是对象揭示自己作为一个运行时对象的详细信息的一种能力。这些详细信息包括对象在继承树上的位置,对象是否遵循特定的协议,以及是否可以响应特定的消息。NSObject协议和类定义了很多内省方法,用于查询运行时信息,以便根据对象的特征进行识转载 2017-02-17 22:15:40 · 2105 阅读 · 0 评论 -
iOS 单例模式实现
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。转载 2017-03-03 23:16:40 · 380 阅读 · 0 评论 -
iOS 字典转模型高级实现
字典跟模型的优缺点比较:1>字典在使用key的时候Xcode不会有提示,容易出错,模型就不会2>①所谓模型,其实就是数据模型,专门用来存放数据的对象,用它来表示数据会更加专业②模型设置数据和取出数据都是通过它的属性,属性名如果写错了,编译器会马上报错,因此,保证了数据的正确性③使用模型访问属性时,编译器会提供一系列的提示,提高编码效率转载 2017-02-19 19:13:32 · 290 阅读 · 0 评论 -
OC中栈和堆内存区别解析
为什么OC对象需要进行内存管理,而其它非对象类型比如基本数据类型就不需要进行内存管理呢?因为:Objective-C的对象在内存中是以堆的方式分配空间的,并且堆内存是由你释放的,就是release;OC对象存放于堆里面(堆内存要程序员手动回收),非OC对象一般放在栈里面(栈内存会被系统自动回收);堆里面的内存是动态分配的,所以也就需要程序员手动的去添加内存、回收内存。原创 2017-02-12 12:24:16 · 3209 阅读 · 0 评论 -
《Object-C》编程全解笔记一
Object-C编程全解笔记:第二章Object-C程序设计,第三章类和继承,第四章对象的类型和动态绑定......原创 2017-02-12 10:41:17 · 1092 阅读 · 0 评论 -
Object-C语言的优缺点
Category类别,在不改变原有类的基础上,为类增加一些方法。协作开发的时候,可以不用担心合并冲突的问题。Posing,Posing的意思是扮演,冒充。Posing存在的目的在于子类可以冒充父类,可以让父类表现为子类的行为。主要使用到的方法就是poseAsClass方法,不过貌似这个方法现在已经被禁用了。还可以通过修改isa指针来修改指向的类,如KVO。原创 2017-03-08 15:53:55 · 1108 阅读 · 0 评论
分享