E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Swizzle
iOS源码安全
+(BOOL)
swizzle
:(SEL)originalwith:(IMP)replacementstore:(IMPPointer)store{returnclass_swizzleMethodAndStore
赤狼_杨昆宏
·
2020-03-31 09:27
Swift 3
dispatch_once在使用
swizzle
的时候一定会用到,但是在3中,这个方法被禁用了,建议我们使用全局懒加载。
may丨be丶
·
2020-03-31 05:00
Ruby 的魔法世界——元编程(一)
这样一来你会发现OC中的
Swizzle
啊关联对象啊等运行时黑魔法都可以
Sheepy
·
2020-03-20 06:37
Realm(Cocoa)随手记
SinceRealmparsesallmodelsdefinedinyourcodeatlaunch,theymustallbevalid,eveniftheyareneverused.也就是说在启动时所有的每个类该
swizzle
此题无解灬
·
2020-03-20 03:19
由黑魔法
swizzle
造成的crash
swizzleNSArray的objectAtIndex,App就不会出现UIKeyboardLayoutStar背景公司新闻app,一个搜索输入框,键盘响应之后,按Home键,app进入后台,再返回前台的时候出现崩溃(iOS8iphone5s)。然而在6siOS10上并不能复现。用测试妹子的手机复现。控制台打印了下面信息[UIKeyboardLayoutStarrelease]:messages
彡廿
·
2020-03-18 21:21
IOS中AOP框架Aspects源码分析
在IOS中使用
Swizzle
技术可以实现面向切面编程,我在RunTime应用实例--关于埋点的
击水湘江
·
2020-03-09 07:05
swizzle
#import"UIViewController+Tracking.h"#import@implementationUIViewController(Tracking)+(void)load{NSString*className=NSStringFromClass(self.class);NSLog(@"className_______%@",className);staticdispatch_o
疾风追马
·
2020-03-07 18:36
runtime 10种常用用法
2.替换系统方法拦截系统自带的方法调用(
swizzle
黑魔法),也可以说成对系统的方法进行替换。3.实现分类
Code丶Ling
·
2020-03-02 20:22
养一只”无限猴子”帮你测试
但是细的东西特别容易出篓子,例如说布尔条件写反了,某个@IBOutlet的控件改名了,删掉了,忘了去storyboard里处理掉它,就会发生setValue:forUndefinedKey:的错误,本来我是想直接
swizzle
kemchenj
·
2020-03-01 23:59
Runtime中的Method
Swizzle
示例:一键改字体1.工程的Info.plist文件中需添加:Info.plist添加内容.png其中loveway.ttf为字体册资源文件的名称.2.Category类UILabel+FontChange.h////UILabel+FontChange.h//FontChangeProject////CreatedbyBrianon16/02/13.//Copyright©2016年Mac.All
灭世MasterWang
·
2020-02-26 21:27
Objective-C Method
Swizzle
在AFNetworking中的实践
阐述#相信iOS开发的同学如果使用了AFNetworking这个第三方框架,可能会碰到以下Bug:ErrorDomain=com.alamofire.error.serialization.responseCode=-1016"Requestfailed:unacceptablecontent-type:text/html"UserInfo={com.alamofire.serialization
穿越地平线的渴望__
·
2020-02-25 04:14
Method
Swizzle
中的对象模型
通常通过methodswizzle可以交换两个方法的实现(不限于同一个类型),先看一段代码:People类-(void)talk{NSLog(@"%@",self.class);}Student类继承PeopleStudent+(void)load{staticdispatch_once_tonceToken;dispatch_once(&onceToken,^{SELoriginalSelect
huanshijiu
·
2020-02-22 01:14
[转载]使用 libffi 实现 AOP
@implementationClassA(
Swizzle
)+(void)load{Methodorigin
Dean麦兜
·
2020-02-20 19:05
Method
Swizzle
1、AOP编程思想1.1、AOP是什么AOP(AspectOrientedProgramming)直译为面向切面编程。假设把应用程序想象成一个长方体,OOP就是纵向划分系统,把系统分成很多个业务模块,如用户管理,产品展示等模块;AOP横向划分系统,提取各个业务模块可能要重复操作的部分。AOP编程的原理是在不更改正常的业务处理流程的前提下,通过生成一个动态代理类,从而实现对目标对象嵌入附加的操作。A
子瑜愚
·
2020-02-17 03:08
FLEX源码分析三(网络监测记录FLEXNetworkRecorder)
接着上次
Swizzle
部分继续。上次已经讲到通过
Swizzle
方法hook住NSURLConnection和NSURLSession的代理。那么Hook住之后就需要插入自定义代码。
纸简书生
·
2020-02-14 07:54
NSString
swizzle
initWithString: 总结
起因在维护老项目的时候,线上出了个关于字符串创建为nil的crash错误信息收到反馈后,第一反应是找到initWithString:方法添加判断参数是否为nil保护一下,如下:if(name!=nill){_userName=[[NSStringalloc]initWithString:name];}else{_userName=@"";}然后我查了下该工程中initWithString:方法,有
王小放
·
2020-02-09 20:45
iOS: runtime
swizzle
应用之-CXAppDeleagte源码解析
写在前面runtime中的MethodSwizzling技术被称为OC的"黑魔法",iOS的hook技术都是由ta来实现的.本文通过解析CXAppDeleagte这个三方库的源码来讲解一下
swizzle
GrumpyMelon
·
2020-02-08 11:15
RAC中的RACSelectorSignal
先看这个方法RACSwizzleForwardInvocation//这个方法就是
swizzle
一个class的forwardInvocation函数,熟悉oc方法消息转发的同学都知道,当一个对象收到一个不能响应的消息
一只二进制编码的狗
·
2020-02-06 09:59
[Note] Effective OC - Item 13~15
本身
swizzle
这个词就有点魔性,不是很常见的词,意思是用酒棒搅甜酒,有一种好好的非要把水搞浑的感觉。关于MethodSwizzling,讲解更详细的是MattttThom
_lemon
·
2020-02-06 03:58
Swift3.0 - 黑魔法
swizzle
Swift3.0-真的很简单Swift3.0-数据类型Swift3.0-ArraySwift3.0-字典Swift3.0-可选值Swift3.0-集合Swift3.0-流控制Swift3.0-对象和类Swift3.0-属性Swift3.0-函数和闭包Swift3.0-初始化和释放Swift3.0-协议protocolSwift3.0-类和结构体的区别Swift3.0-枚举Swift3.0-扩展Sw
酷走天涯
·
2020-01-05 05:54
UIScrollView、UIView、UILabel、UIImageView修改默认值(runtime、
Swizzle
)
记录使用runtime修改UIScrollview的经历今天突然发现一个问题,UITableView中添加的几个按钮,点击后push到其他ViewController中,结果按钮的选中效果不显示,查了一下UIScrollView的API,发现了delaysContentTouches这个属性@property(nonatomic)BOOLdelaysContentTouches;//default
define南拳
·
2019-12-27 06:24
iOS
Swizzle
Method
1.实例方法交换+(void)load{staticdispatch_once_tonceToken;dispatch_once(&onceToken,^{MethodorigleMe=class_getInstanceMethod([selfclass],@selector(viewWillAppear:));//如果子类没有实现这个获取到的是superClass的方法MethodnewMe=c
鄙人哈哈哈哈5871
·
2019-12-22 08:55
iOS Method
Swizzle
源码分析
iOSMethodSwizzle代码+(void)swizzleOriginalSEL:(SEL)originalSELwithSwizzlingSEL:(SEL)swizzlingSEL{1.MethodoriginalMethod=class_getInstanceMethod(self,originalSEL);2.MethodswizzlingMethod=class_getInstanc
学习路上一个远行者
·
2019-12-19 18:40
iOS Method
Swizzle
黑魔法小记
本文主要内容为用runtime实现
Swizzle
,即调换两个方法的实现一点iOSruntime的基本知识Objective-C是一门动态语言,每个方法在运行时会被动态转为消息发送,方法的实现由运行时决定
杰米
·
2019-12-16 13:05
Swizzle
应用性研究
Swizzle
的常见错误及基本原理示例1@implementationUIImageView(TestContentMode_Origin)+(void)load{MethodoriginMethod=
那年那月那猪在简书
·
2019-12-16 09:23
iOS 如何动态切换 APP 的主题
让APP已有的控件能切换主题可以用子类化,
swizzle
或category来实现,其中子类化和category实现起来差不多,都是让控件调特定的方法达到切换风格的效果,而
swizzle
的影响范围会比较广
鞋子特大号丶
·
2019-11-27 18:30
6.5
Swizzle
操作符
6.5
Swizzle
操作符可以使用Cg语言中的
swizzle
操作符(.)将一个向量的成员取出组成一个新的向量。
swizzle
操作符被GPU硬件高效支持。
swizzle
操作符后接x、y、z、
代码咖啡
·
2019-11-08 07:01
Swift的
Swizzle
黑魔法
Objective-CCategory可以随意重写本类的方法,Swift的Extension虽然易用,但仍然没有Category那样方便的重写方法.但
Swizzle
还是可以在Extension替换掉本类的任意方法
南国青天
·
2019-11-08 04:15
创建一个私有库
Swift3.0如果想要对Swift的库进行修改,
Swizzle
运行时替换方法已经不好用了.如果源码内的方法前没有dynamic,那么Swift讲进行优化,直接调用方法的内存地址,而不是进行动态转发.所以现在对一个库进行修改
南国青天
·
2019-11-07 22:15
Method
Swizzle
的危机
在同时使用RAC和Aspects的时候,遇到了一个Crash,栈溢出了。看了一下,是之前在项目中使用了RAC的rac_singalForSelector@weakify(self);[[viewControllerrac_signalForSelector:@selector(viewDidAppear:)]subscribeNext:^(idx){@strongify(self);self.sh
huanshijiu
·
2019-11-04 14:40
2018-01-01
苹果的
swizzle
,利用runtime进行方法交换.例子1.在网络请求中,一个url如果不合法但执行结果错误,OC不会给提示.比如NSURL*url=[NSURLURLWithString:@"http
NEO从容
·
2019-11-03 08:58
Swizzle
in Objcet-C
翻译自:therightwaytoswizzleinObject-C在OC中,我们谈到
swizzle
一般指用我们自己的方法代替原始的方法,调用原始的方法,执行的是我们自己的方法;我们使用runtime.h
起个名字真难啊2015
·
2019-10-31 02:08
OC
swizzle
方法和分类的加载
分类categorycategory的介绍Category是oc2.0添加的语言特性,它的主要作用是在不改变本类下,动态地给这个类添加方法,除此之外Category还可以将一个类进行拆分在不同文件下进行管理、甚至可以模拟实现多继承。若Category添加的方法在基类中已经存在,则会‘覆盖’基类的同名方法,这里的覆盖并不是真正的覆盖,而是在方法列表中取用了第一个同名方法名。分类、类、父类中实例方法和
PageWen
·
2019-07-28 20:50
iOS 详解
swizzle
在数组、字典、字符串中的应用
简单说下写这篇的目的吧,
swizzle
对iOS开发者并不陌生,网上也有很多资料。但是我浏览一些文章,多数都是写的不全。
MonStar丶
·
2019-04-25 17:02
100篇技术文章
自动释放池的底层实现原理autoreleasepool5.KVO键值观察底层实现原理和使用-链接链接6.KVC简直编码的底层实现原理使用.链接7.Runtime机制的原理链接链接链接链接链接链接8.Runtime的
Swizzle
没技术的BUG开发攻城狮
·
2018-12-20 15:02
iOS进阶补完计划--通读runtime(.h)
运行时、
swizzle
、黑魔法等等。不过用的时候是copy代码、还是真正理解了runtime以及OC中类、对象、方法的本质结构。起码就我而言、很长一段时间(以年来计算)。都是前者。
kirito_song
·
2018-08-24 11:26
Runtime实例运用-交换方法实现、Method
Swizzle
一.交换两个方法的实现:Runtime还可以交换两个方法的实现。例如:Person有两个方法:study、run。我们交换两个方法的实现,调用study的时候执行的是run、调用run的时候执行的是study。Person类:.h:@interfacePerson:NSObject-(void)study;-(void)run;@end.m类:@implementationPerson-(void
蔚尼
·
2018-05-30 14:07
你真的懂使用Runtime进行
swizzle
的最佳写法?
但是,怎么
swizzle
方法才是最好呢?
iHTCboy
·
2018-05-05 10:24
runtime1
Objective-C作为一门动态语言,将很多事都在运行期间完成,如消息发送、消息转发、动态的方法交换、对象关联(为类添加实例变量)、拦截系统自带的方法调用(
Swizzle
黑魔法)、KVC、KVO我们先来探究下我们最常用的消息发送机制是如何实现的
Emiya_zhang
·
2018-04-23 16:52
iOS组件化解耦之AOP面向切面编程(URLRouter模式)
的框架,他们的模式是MVT,其实和iOS一样,会在方法执行前暴露出函数让我们调用,在执行前加入自己的东西进行干预,DJango里面就是中间件,iOS里面就可以自己写个类,把需要切面的的函数hook出来(
swizzle
Deft_MKJing宓珂璟
·
2018-03-14 11:16
超实用Demo
iOS组件化解耦之AOP面向切面编程(URLRouter模式)
的框架,他们的模式是MVT,其实和iOS一样,会在方法执行前暴露出函数让我们调用,在执行前加入自己的东西进行干预,DJango里面就是中间件,iOS里面就可以自己写个类,把需要切面的的函数hook出来(
swizzle
Deft_MKJing宓珂璟
·
2018-03-14 11:16
超实用Demo
Hook方法的新姿势--Stinger (使用libffi实现AOP )
@implementationClassA(
Swizzle
)+(void)load{Methodor
Assuner
·
2018-01-26 10:39
深入剖析Objective-C中的
Swizzle
有时候为了达到一些特殊的需求,我们会在运行时期交换两个方法的实现,用我们自己的方法替换原始方法。在OC运行时期,OC方法被表示为一个名为Method的C结构typedefstructobjc_method*Method,在runtime.h文件中,这个结构体如下:structobjc_method{SEL_Nonnullmethod_nameOBJC2_UNAVAILABLE;char*_Null
红尘未破山水间
·
2017-12-15 17:43
KVO的底层原理
Key-ValueObserving键值对观察者模式基于OC强大的Runtime机制和isa-
swizzle
机制、考虑到OC的对象存储方式和类存储方式OC在底层实现了KVO的这种观察者模式,开发者可以在不修改某个类
define南拳
·
2017-12-11 01:31
Runtime第六篇-Method Swizzling
swizzle
在英文中的本意是“搅和”。MethodSwizzling是改变一个selector的实际实现的技术。
lzh_coder
·
2017-12-10 14:20
Objective-C之Method
Swizzle
一、原理我们平时编写的OC代码,底层都是基于Runtime来实现的。Runtime又叫运行时,是一套底层的C语言API,其为iOS内部的核心之一。1).在没有一个类的实现源码的情况下,想改变其中一个方法的实现,除了继承它重写、和借助类别重名方法暴力抢先之外,还有更加灵活的方法MethodSwizzle。2).MethodSwizzle指的是改变一个已存在的选择器对应的实现的过程。OC中方法的调用能
RichieQ
·
2017-12-08 19:14
Runtime中
Swizzle
时你可能没注意到的问题
前言听说最近女生都喜欢找程序员做男朋友,说是我们程序员一般都稳重,专一,工资高,如果你长得还挺帅那估计就抢手货了。本来我计划今天出去跑步的,但是下雨没去成,因为如果我再减掉15斤体重,那我就具备上面长得帅优秀条件了,估计我离我女神就越来越近了。霸气女神.jpg上面我减掉15斤就能帅了的话,如果你信了的话,我就感谢下你对我的肯定,因为我自己都不信,我怎么可能那么帅呢。但是有女生说喜欢找我们程序员却不
不知名_伍毛
·
2017-12-04 13:08
Runtime中
Swizzle
时你可能没注意到的问题
前言听说最近女生都喜欢找程序员做男朋友,说是我们程序员一般都稳重,专一,工资高,如果你长得还挺帅那估计就抢手货了。本来我计划今天出去跑步的,但是下雨没去成,因为如果我再减掉15斤体重,那我就具备上面长得帅优秀条件了,估计我离我女神就越来越近了。霸气女神.jpg上面我减掉15斤就能帅了的话,如果你信了的话,我就感谢下你对我的肯定,因为我自己都不信,我怎么可能那么帅呢。但是有女生说喜欢找我们程序员却不
不知名_伍毛
·
2017-06-18 18:15
Shader中表达式和控制语句
CG语言表达式允许对向量使用关系操作,例如:float3A=float3(0.5,0.1,0.9);float3B=float3(0.6,-0.1,2.0);bool3c=A>1;
Swizzle
操作
LoveMollyWendy
·
2017-04-27 13:01
Shader
Aspects源码解析
Adelightful,simplelibraryforaspectorientedprogramming关键字:面向切片编程、OC动态性、消息转发、类型编码、
Swizzle
...使用场景:1.统一处理逻辑
纸简书生
·
2016-07-18 17:00
上一页
1
2
3
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他