- 博客(20)
- 收藏
- 关注

转载 iOS 动态库和静态库的的区别 动态库的隔离与静态库的吸附问题以及解决方法
起因理论功底动态库和静态库介绍静态库和动态库的区别举个例子, iOS 项目中使用 Embeded Framework静态库和动态库如何构建和加载静态库和动态库依赖关系Xcode 项目结构iOS 依赖管理事实上的标准解决问题制作动态库
2017-05-03 10:40:21
9441
1

转载 iOS 出现内存泄漏的几种原因
一、从AFNet说起对于iOS开发者,网络请求类AFNetWorking是再熟悉不过了,对于AFNetWorking的使用我们通常会对通用参数、网址环境切换、网络状态监测、请求错误信息等进行封装。在封装网络请求类时需注意的是需要将请求队列管理者AFHTTPSessionManager声明为单例创建形式。对于该问题,AFNetWorking的作者在gitHub上也指出建议使用者在相同配置下保
2017-05-03 10:32:38
12334
转载 RunLoop 的理解
RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。目录RunLoop 的概念RunLoop 与线程的关系RunLoop 对外的接口
2018-01-09 13:20:55
309
2
转载 iOS检测内存泄漏的方法
iOS内存管理:内存泄露调试的常用技巧常用的内存调试技巧,包括以下几种:启用Zombie Object进行悬挂指针的检测。应用Product -> Analysis进行内存泄露的初步检测。可以在xcode的build setting中打开implicit retain of ‘self’ within blocks,xcode编译器会给出警告,逐个排查警告。
2017-12-01 18:08:45
5128
转载 io9 iOS10 iOS11的新特性
1.首先看一下iPhone X的模拟器样式吧我是iPhone Xxcode 9 模拟器都带一个套套,像我这种强迫症看着淡淡的忧伤,没办法直接干掉算了如果看着大小在电脑上面不合适,就把鼠标放到四个角的时候,可以随便拖大小的更改模拟器外观样式.png2.iPhone X的设计图我们可以看出,所有的边框都是圆角,也是很符合苹果的设计规则,扁平化更凸现出来。有图我可
2017-12-01 17:31:14
379
转载 Weex的坑点
故事一: Build虽然weex的口号是一次撰写 多端运行, 但其实build环节是有差异的, native端构建需要使用weex-loader, 而web端则是使用vue-loader,除此以外还有不少差异点, 所以webpack需要两套配置.最佳实践使用webpack生成两套bundle,一套是基于vue-router的web spa, 另一套是native端的多入口的bundlejs
2017-11-30 14:29:57
1758
1
转载 iOS9 iOS10 iOS11的新特性
iOS9 特性关键字参考 2015 Objective-C 新特性1.关键字 :这些是纯编译器的语法支持(llvm 7.0),没有借助任何 objc runtime 的升级,也就是说,这个新语法在 Xcode 7 上可以使用且完全向下兼容(更低的 iOS 版本)nullable (_Nullable、__nullabel setter 和 getter 可以为空) nonnull(
2017-10-18 17:05:40
2215
转载 从MRC的角度再探Strong 与weak
因为有朋友认为代码瑕疵会导致内存爆增而导致崩溃,实际上开辟子线程并不是无限制的,亲测,ios平台最大并发线程为22,测试过程:条件断点 i == 1000触发,保证充分利用了系统的线程。所以并不是内存爆增导致的崩溃。为了更严谨的证明实际是过度释放。笔者特地打开了僵尸对象模式[zombie Object],得到错误打印:向一个已销毁的对象发送release消息!*** -[CFStrin
2017-09-07 11:09:37
1300
原创 GCD 保证顺序上传下载
利用线程组保证顺序上传下载, 希望能帮助到一些人对GCD的学习, 也请大神指点.NSMutableArray *arr = [NSMutableArray arrayWithArray:@[@"1", @"2", @"3", @"4", @"5"]];dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIO
2017-09-07 10:36:01
413
原创 iOS 性能优化总结
使用复用机制在我们使用 UITableView 和 UICollectionView 时我们通常会遇到「复用 Cell」这个提法,所谓「复用 Cell」就是指当需要展示的数据条目较多时,只创建较少数量的 Cell 对象(一般是屏幕可显示的 Cell 数再加一)并通过复用它们的方式来展示数据的机制。这种机制不会为每一条数据都创建一个 Cell,所以可以节省内存,提升程序的效率和交互流畅性。
2017-08-25 10:12:11
489
转载 iOS工程自动化(git 操作)
4 月份参加 2017@Swift 大会的时候有幸听到了 @zesming 大佬关于美团组件化的 Topic,有一张图印象特别深刻。来自 @zesming 大佬后来跟 @zesming 大佬沟通怎么去整理组件自动构建发布思路的时候他也跟我提到了这张图。所以我准备围绕这张图来整理一下 iOS 工程自动化的思路。基础知识首先,我们需要掌握一些自动构建发布的基础知
2017-08-23 09:55:26
728
原创 iOS面试资料2
66、AFNetworking监听网络状态123456789101112131415161718192021// 监听网络状况 AFNetworkReachabilityMa
2017-06-27 10:39:34
520
原创 iOS面试资料以及工作经验总结
1、禁止手机睡眠1[UIApplication sharedApplication].idleTimerDisabled = YES;2、隐藏某行cell1234567891011
2017-06-27 10:38:54
846
原创 iOS 防止数组越界 对象类型不一致的安全处理 使用category对nsmutablearray处理
#import "NSMutableArray+FKAdd.h"@implementation NSMutableArray (FKAdd)- (void)fk_addObject:(id)anObject { if (!anObject) { NSAssert(anObject,@"warning: 请不要添加空数据
2017-05-03 10:54:56
545
原创 iOS 抛出异常 收集奔溃信息处理
void UncaughtExceptionHandler(NSException *exception) { /** * 获取异常崩溃信息 */ NSArray *callStack = [exception callStackSymbols]; NSString *reason = [exception reason]; NSS
2017-05-03 10:50:58
487
原创 runtime机制
打个比方 NSString *str = [[NSData alloc]init];这里面当编译状态的时候 是属于NSString类型 运行状态的时候属于NSData类型 ,这就是运行时runtime机制,可能编译的时候 A指向B 运行的时候A会指向C 值会改变的。一般category里面 属性不能扩展的 只能使用objc_getAssociatedObject和
2017-01-17 13:46:16
1651
原创 使用苹果自带的NSURLSession网络请求请求数据
NSURL *url = [NSURLURLWithString:@"www.baidu.com"]; NSMutableURLRequest * req = [[NSMutableURLRequestalloc]initWithURL:url]; req.timeoutInterval =10 ; req.HTTPMethod =@"PO
2016-09-03 14:49:57
429
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人