移动端监控体系之技术原理剖析 - iOS - 掘金
在这样一个注重用户体验的时代,APM 技术快速发展,国内更是百花齐放,最近对各个公司的 APM 产品有一个调研,并在此基础上进行了自己的实践。这里就从 iOS 的角度出发,谈谈自己对移动端 APM 的技术上的理解,并提供相对应的实例。 ...
iOS 开发中的性能优化和调试 - iOS - 掘金
在开始这篇文章之前,先说几个概念性的东西。CPU 和GPU关于绘图和动画有两种处理方式CPU(中央处理器)和GPU(图形处理器),CPU的工作都在软件层面,而GPU的在硬件层面。总的来说,可以使用CPU做任何事情,但是对于图像的处理,通常GPU会更快,所以,我...
RunLoop 知识点总结 - iOS - 掘金
RunLoop是多线程的难点. 在实际开发中我们如何使用RunLoop呢? 且容我一一道来, 不当之处, 敬请斧正. 先浏览一下RunLoop知识点的大致框架, 这也是本文即将要说明的: ...
iOS - APP 任意 push 新页面那些事 - iOS - 掘金
大家都知道,UINavigationController对象有一个方法pushViewController,用来做视图跳转,也是在iOS开发中常用的页面转换方法之一。大多数APP的结构一般都是,使用一个UITabBarController,每个tab上都是一个...
UITableView 行高自适应 + 缓存优化 - iOS - 掘金
学习了 FDTemplateLayoutCell 后,我自己也写了一个 TableView 行高自适应加高度缓存的 Demo,本 Demo 研究实现了其中的最基本算高与缓存功能,仅供大家学习使用。 ...
NSNotification,看完你就都懂了 - iOS - 掘金
什么?你以为你通知全懂了?抱歉,你懂的仅仅是基础。 一、为什么要使用NSNotification The standard way to pass inf...
iOS 深浅拷贝(纠错) - iOS - 掘金
道歉 之前我的一篇关于深浅拷贝的文章,里面有诸多错误,主要是混淆了混淆copy、mutableCopy和深浅拷贝,给大家带来了误导,这里我深表歉意。 经过大家的指正和参考前辈的文章:http://...
iOS 开发之多工程联编 - iOS - 掘金
在iOS应用开发中,随着开发 的深入,项目的规范也越来越高,为了更加方便的管理自定义静态库与pods之间的联系,我们通常会在在当前的项目工程文件中引入静态库或者其他工程,并与CocoaPods配合使用. 在说具体操作前 我们先了...
iOS 使用 Leak 进行内存泄漏的分析 - iOS - 掘金
第一次使用Leak对项目进行内存泄漏的检测,也是查阅了许多资料,算是可以做到发现问题并解决问题。 我的项目泄漏情况是这样的: ...
iOS 开发之 Runtime 常用示例总结 - iOS - 掘金
经常有小伙伴私下在Q上问一些关于Runtime的东西,问我有没有Runtime的相关博客,之前还真没正儿八经的总结过。之前只是在解析第三方框架源码时,聊过一些用法,也就是这些第三方框架中用到的Runtime。比如属性关联,动态获取属性等等。本篇博客就针对Run...
《iOS 安装包瘦身指南》 - iOS - 掘金
先看下Apple对安装包大小的限制: 资源优化 1.删除无用资源 解压ipa文件,检查是否有无用资源存在。 现在应该没有APP需要支持iPhone4以下的机型了,所以1X的图片可以全部删掉。3X的图片是保留还是删掉看具体情况。 重复的图片分两种,一种是名字一...
iOS 运行时之 Associative(关联) - iOS - 掘金
iOS 下有很多运行时特性,这里介绍一下 Associative(关联) 这个运行时特性,以及它一些使用场景。Associative 意思为关联,能够将两个对象建立一种关系。这种关系是一种 从属 关系,也就是说有一个 关联者 和一个 被关联者。比如说我们可以将...
iOS 中 UITextField 的字数限制 - iOS - 掘金
在开发中, 有些时候会碰到这样的需求: 希望输入框有最大字数限制. 比如, 用户昵称长度限制, 评论最大字数限制. 刚开始的时候, 采用的是shouldChangeCharactersInRange ...
BeeHive,一次 iOS 模块化解耦实践 - iOS - 掘金
去年GMTC大会天猫无线专家分享了天猫iOS是如何做解耦的,并提到了其中的模块化方案BeeHive,后来他将其整理成文章,推荐阅读: 手机天猫解耦之路 在本文,天猫的戴鹏继续分享了BeeHive的目的,举例说明最佳实践,...
iOS 工作中封装通用性网络请求框架 - iOS - 掘金
在iOS开发中,网络是必不可少的一部分,没有人不知道大名鼎鼎的AFNetwork框架的,因为它提供了非常丰富实用,方便的网络调用。使得很多需求都能够调用已有的方法完成。但是面对业务需求,如何合理的将AFNetwork近一步封装能够更加方便的完成业务需求却是需要...
IOS 任务管理之 GCD 使用 - iOS - 掘金
前言: 前天学了IOS的NSOperation基本使用,我们得知NSOperation也是基于IOS GCD(Grand Central Dispatch)实现,其实在做IOS开发中GCD已经基本上能够满足大部分需求。作...
对象从创建到销毁的过程探究 - iOS - 掘金
前言 文章是对最近一次技术分享 - 关于对象从创建到销毁的过程探究的整理. @autoreleasepool { NSObject (__strong) *object = [[NSObject all...
iOS 开发 - 事件传递响应链 - iOS - 掘金
一、序言 当我们在使用微信等工具,点击扫一扫,就能打开二维码扫描视图。在我们点击屏幕的时候,iphone OS获取到了用户进行了“单击”这一行为,...
iOS 类似朋友圈的结构设计(下层) - iOS - 掘金
1:接上一篇 图 1 这里我们看到了 除了Manager 上面的都是上层做的事情 Manager对上层只是提供的一个...
iOS 类似朋友圈的结构设计(上层) - iOS - 掘金
读过很多设计模式,看过很多开源代码,却依然被产品整的死去活来. 过完春节,开年空的这几天终于可以歇一会,写写博客. 现在我们从实战出发,聊一聊类似朋友圈这样的页面应该如果去设计,开发.(这里就先抛砖引玉了) ...
Objective-C 消息发送与转发机制原理 - iOS - 掘金
消息发送和转发流程可以概括为:消息发送(Messaging)是 Runtime 通过 selector 快速查找 IMP 的过程,有了函数指针就可以执行对应的方法实现;消息转发(Message Forwarding)是在查找 IMP 失败后执行一系列转发流程的...
关于 CAShapeLayer 的一些实用案例和技巧 - iOS - 掘金
一、使用CAShapeLayer实现复杂的View的遮罩效果 1.1、案例演示 最近在整理一个聊天的项目的时候,发送图片的时候,会有一个三角的指向效果,指向这张图片的发送者。服务端返回给我们的图片只是一张矩形的图片,我们如何把一张矩形的图片或者View,加上一...
iOS - 面试划重点了 - iOS - 掘金
一、关于@property先思考一下几个问题 delegate 属性为什么使用 weak ? xib/storybard连接的对象为什么使用weak? 字符串 为什么使用copy? Block 为什么使用 copy? 1.答:delegate用weak修饰...
最好用的 iOS 快速布局 UI 库 - iOS - 掘金
NerdyUI 最好用的快速布局 UI 库,适用于 iOS 8 及以上版本。github: https://github.com/nerdycat/N... ...
VVeboTableView 源码解析 - iOS - 掘金
这次分享一个关于性能优化的源码。 我们知道UITabelView在iOS开发中扮演者举足轻重的角色,因为它是iOS开发中使用频率非常高的控件之一:几乎每个app都离不开它,因此,UITa...