贴上资源.很简单 https://gist.github.com/rudyjahchan/2191796 http://itony.me/592.html http://stackoverflow.com/questions/5960049/callback-method-before-deallocating-any-object http://justsee.iteye.com/blog/2019539 http://stackoverflow.com/questions/16811461/…
一般我们判断两个实例对象是否同样的类型,可以用typeof得到对象类型,然后用==号比较. typeof适用于原生类型. 而对于自定义类型,虽然typeof得到的都是Object,但还有更强的招数:getQualifiedClassName 利用这个原生函数可以获取到两个实例的真实类型. 然而,对于Flash professional制作出来的swf,运行时要知道其中两个MovieClip是否来自库里边的同一个元件,上述方法都无能为力了. 本文就是探讨这个问题. 1.首先,想到的是,如果两个实例…
目录:[Swift]Xcode实际操作 本文将演示PerformSelector消息处理方法. 在项目文件夹上点击鼠标右键弹出文件菜单. [New File]->[Swift File]->[Next]->[Save As]:iOSApp.swift->[Create] 现在开始编写代码,创建Swift类[iOSApp.swift] import Foundation //创建一个继承自基础对象的类 class IOSApp: NSObject{ //给类添加一个无参方法, @ob…
一.虚拟机栈背景 由于跨平台性的设计,java的指令都是根据栈来设计的.不同平台CPU架构不同,所以不能设计为基于寄存器的. 优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令. 二.内存中的堆与栈 栈是运行时的单位,而堆是存储的单位:即:栈解决程序的运行问题,即程序如何执行,或者说如何处理数据.堆解决的是数据存储的问题,即数据怎么放.放在哪儿. 一般来讲,对象主要都是放在堆空间的,是运行时数据区比较大的一块 栈空间存放 基本数据类型的局部变量,以及引用数据类型…
摘要: 本文描述方法混写对实例.类.父类.不存在的方法等情况处理,属于Objective-C(oc)运行时(runtime)编程范围. 编程环境:Xcode 6.1.1, Yosemite,iOS 8.1.3. 关键字:方法混写(Method Swizzling) oc运行时 本文结构 修订版本 什么是方法混写 编程案例 本类方法 不存在的方法 注意事项 参考 发布自米高 | Michael - 博客园,原文地址:http://www.cnblogs.com/michaellfx/p/43226…
举例 在创建了如下代码 NSString *str=nil; NSURL *url =[NSURL URLWithString:str]; NSLog(@"%@",url); 但是想使用自己的方法并对传入的字符串做为空判断 举例 自己写了一个方法 +(instancetype)SJUrlWithStr:(NSString *)str 替代系统方法 [NSURL URLWithString:] 但是如果项目现在已经进行到了后期 就会涉及到很多界面要导入头文件 并修改使用这个方法 很不方便…
在Objective-C中,消息是通过objc_msgSend()这个runtime方法及相近的方法来实现的.这个方法需要一个target,selector,还有一些参数.理论上来说,编译器只是把消息分发变成objc_msgSend来执行.比如下面这两行代码是等价的. 1 [array insertObject:foo atIndex:5]; 2 objc_msgSend(array, @selector(insertObject:atIndex:), foo, 5); class的方法列表其实…
最近参加三次面试都有被问到runtime,因为不太懂runtime我就只能支支吾吾的说点零碎.我真的好几次努力想看一看runtime的知识,因为知道理解它对理解OC代码内部变化有一定帮助,不过真心觉得对开发没啥意义和用处,又是纯C的代码,现在开源项目那么多,基本都能参考别人的代码达到自己的目的.不过为了面试,今天硬着头皮稍微学了点,才算明白一点runtime的强大之处,现在大致知道它可以用来归档解档,以及字典转模型等.勉强写写今天的一点收获总结吧,依然很零碎,看官请自便.我发现这篇文章不错,看了…
运行时(iOS) 一.什么是运行时(Runtime)? 运行时是苹果提供的纯C语言的开发库(运行时是一种非常牛逼.开发中经常用到的底层技术) 二.运行时的作用? 能获得某个类的所有成员变量 能获得某个类的所有属性 能获得某个类的所有方法 交换方法实现 能动态添加一个成员变量 能动态添加一个属性 能动态添加一个方法 三.案例:运行时获取成员变量名称 1.分析 #import <Foundation/Foundation.h> #import "XMGPerson.h" #im…
注:本篇文章转自:http://www.jianshu.com/p/adf0d566c887 一.运行时简介 Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.对于Objective-C来说,这个运行时系统就像一个操作系统一样:它让所有的工作可以正常的运行.Runtime基本上是用C和汇编写的,这个库使得C语言有了面向对象的能力.在Runtime中,对象可以用C语言中的结构体表示,而方法可以用C函数来实现,另外再加上了一些额外的特性.这些结构体和…