对于一个NSString这样的属性,我们可以通过修改其原子性atomic,来保证其线程安全。但是对于NSMutableArray和NSMutableDictionary这样的...

对于一个NSString这样的属性,我们可以通过修改其原子性atomic,来保证其线程安全。但是对于NSMutableArray和NSMutableDictionary这样的...
不知道之前有没有小伙伴遇到过__NSFrozenArrayM相关的崩溃,比如 :-[__NSFrozenArrayM addObjectsFromArray:]: unrec...
1.基础 1.任务 任务:gcd的block中执行的操作。执行任务有两种方式:同步执行(sync)和异步执行(async)。同步执行(sync):同步添加任务到指定的队列中,...
1. GCD 简介 2. GCD 任务和队列 3. GCD 的使用步骤 4. GCD 的基本使用(6种不同组合区别) 5. GCD 线程间的通信 6. GCD 的其他方法(栅...
最近在做MVVM项目改造,绕不开reactivecocoa(rac),学习过程中做的一些简单的笔记,用于快速上手,后续实战中遇到的问题也会慢慢更新。常用类主要分为三大类: 1...
@请叫我喵_喵 大佬,我没看到有demo的地址呀
可能是最全的iOS端HttpDns集成方案******科普片** 1、DNS劫持的危害 不知道大家有没有发现这样一个现象,在打开一些网页的时候会弹出一些与所浏览网页不相关的内容比如这样奇(se)怪(qing)的东西 ...
UI应该只负责展示,不应该负责逻辑的,你这个如果遇到重用或者其他乱七八糟的东西,是否依旧能保持数据精准呢?建议还是将选中状态添加到数据模型中,点击修改数据模型的选中状态,然后根据model刷新UI。
iOS 筛选界面我们的需求是,分组,每组单选。首先创建collectionView 然后添加重置和完成按钮 collectionView的分组和tableview不一样。他的每个组头都是一个...
如果一个delegate有多个方法,我只交换了其中一个,其他方法可以正常使用吗?
【iOS】黑魔法 Method Swizzling 及对代理方法的 hookiOS的runtime中有一种神奇的黑魔法: Method Swizzling,利用它可以做很多有趣的事情。 Method Swizzling 的优点 例如,假设我们的项目中...
1.封装SDK Flies -> New -> Project -> iOS -> Framework & Library -> Cocoa Touch Framework ...
随手记录日常遇到的小坑 1、终端设置代理 export {http,https}_proxy='http://ip:port' 2、react-native init (Pr...
分享一个扇形进度条,核心思想是用贝塞尔曲线绘制扇形形成进度条子单位,然后通过修改layer的fillcolor实现进度条前进的效果。
1、能否响应事件 UIView继承于UIResponder,具有响应事件的功能 CALayer继承于NSObject,不具有响应时间的功能 所以可以理解成UIView用于响应...
说起 WKWebview 代替 UIWebview 带来的好处你可以举出一堆堆的例子,但说到 WKWebview 的问题,你绕不过的就是 WKWebview cookie 和...
前言 最近项目中的UIWebView被替换为了WKWebView,因此来总结一下。示例Demo:WKWebView的使用本文将从以下几方面介绍WKWebView:1、WKWe...
苹果在iOS7.0以后推出了一个侧滑返回手势,当导航栏Push到下一页时,可以通过侧滑手势pop到上一页,这大大提高了用户的体验度,同时增加了可玩性。然而有些时候,当你pus...
你好,我尝试hook UIResponder 的TouchBegan方法,但是似乎会导致所有点击操作的响应链不再往下传递,各种点击方法都失效了,不知道楼主有没有好的办法
+ (void)trackingUIResponder {
Method touchBeganMethod = class_getInstanceMethod([self class], @Selector(touchesBegan:withEvent:));
Method hookMethod = class_getInstanceMethod([self class], @Selector(hook_TouchesBegan:withEvent:));
method_exchangeImplementations(touchBeganMethod, hookMethod);
}
- (void)hook_TouchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
NSString *touchInfo = [NSString stringWithFormat:@" %@ - %@", NSStringFromClass([self class]), @"touchBegan"];
[self hook_TouchesBegan:touches withEvent:event];
}
iOS用户行为追踪——无侵入埋点本文章系作者原创文章,如需转载学习,请注明该文章的原始出处和网址链接。 在阅读的过程中,如若对该文章有不懂或值得优化的建议,欢迎大家加QQ:690091622 进行技术交流...
iOS的蓝牙数据接收以及发送 名词:Central(中心设备)、Peripheral(外围设备)、advertising(广告)、Services(服务)、Character...