ios好文
iOS10 通知 extension 之 Service Extension 你玩过了吗?
iOS10 通知 extension 之 Service Extension 你玩过了吗
让你的代码更优雅---去掉Xcode工程中某种类型的警告
问题描述: 在我们的项目中,因为大量的使用第三方库,经常会出现各种三方库,以及我们自己再敲代码时候调用系统方法却没有实现到时的各种各样的黄色警告。作为一个有追求的程序员,不仅仅是为了实现功能而实现功能。如何去掉这些烦人的黄色警告呢?环信easyUI中的黄色警告 软件环境: Xc…
IOS 网络请求之 AFNetWorking 3.x 使用
AFNetWorking 一款轻量级网络请求开源框架,基于 iOS 和 mac os 网络进行扩展的高性能框架,大大降低了 iOS 开发工程师处理网络请求的难度,让 iOS 开发变成一件愉快的事情。
IOS 缓存管理之 YYCache 使用
-
内存缓存 (YYMemoryCache)
存储的单元是_YYLinkedMapNode, 除了 key 和 value 外, 还存储了它的前后 Node 的地址_prev,_next. 整个实现基于_YYLinkedMap, 它是一个双向链表, 除了存储了字典_dic 外, 还存储了头结点和尾节点. 它实现的功能很简单, 就是: 有新数据了插入链表头部, 访问过的数据结点移到头部, 内存紧张时把尾部的结点移除. 就这样实现了淘汰算法. 因为内存访问速度很快, 锁占用的时间少, 所以用的速度最快的 OSSpinLockLock
-
硬盘缓存 (YYDiskCache)
采用的是文件和数据库相互配合的方式. 有一个参数 inlineThreshold, 默认 20KB, 小于它存数据库, 大于它存文件. 能获得效率的提高. key:path,value:cache 存储在 NSMapTable 里. 根据 path 获得 cache, 进行一系列的 set,get,remove 操作更底层的是 YYKVStorage, 它能直接对 sqlite 和文件系统进行读写. 每次内存超过限制时, select key, filename, size from manifest order by last_access_time desc limit ?1 会根据时间排序来删除最近不常用的数据. 硬盘访问的时间比较长, 如果用 OSSpinLockLock 锁会造成 CPU 消耗过大, 所以用的 dispatch_semaphore_wait 来做.
AFNetworking(v3.0+)框架学习总结 (一)
AFNetWorking 基本是 iOS 开发中使用网络通信框架的标配,这个框架本身比较庞大,也很复杂,但是使用起来非常非常简单。极大地提高了开发效率,让我们更加专注于业务逻辑的实现。
像这种经常使用用又比较重要的内容,我觉得要做到 知其然亦知其所以然,然后梳理总结常用方法,到最后夯实基础、活学活用。
IOS 安全学习资料汇总
IOS 安全学习资料汇总
写给 iOS 开发者看的 HTTPS 指南
苹果在 WWDC 2016 上宣布:2016 年底将要求所有 APP 适配苹果的 App Transport Security,简单地说就是除了特殊情况(浏览器、第三方服务、媒体)外,APP 跟服务端的通信必须使用 HTTPS 协议,否则 iOS 9 和 macOS 10.11 起,操作系统将有能力阻止所有的明文 HTTP 请求。在上面的 session 中,苹果还对具体的细节做出了要求。不过,就在今天,苹果宣布将这个 deadline 无限期推迟。
放肆的使用 UIBezierPath 和 CAShapeLayer 画各种图形
'CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形,当然,你也可以使用其他方式来画,随你。
iOS 移动端架构的那些事
引言:一个 app 的初始阶段,必然是先满足各种业务需求。然后,经过多次版本迭代之后,先前的由于急于满足需求而导致的杂乱代码则会充斥整个项目。而此时,项目有了一定的规模,有了一定数量的开发人员,那么为了达到快速迭代版本的需求,则是需要有一个强大的架构来支撑。 在开始谈 app 架构之前…
iOS UITableview 的多选
一些列表经常需要编辑多选的功能,而 UITableview 自带多选删除的功能,使用起来方便,不需要自己去做数据存储和选中状态转换,可以减少不少开发时间。下面就来介绍下 UITableview 多选的使用。
iOS UITableView 中的下拉列表
最近在项目中遇到一个需要在 tableView 上加下拉列表的界面,一开始想的挺简单的,决定用两个 tableView 来做,在一个 tableView 的自定制 cell 中加一个 tableView。但是遇到最大的一个问题就是,下拉列表要比自定制的 cell 长很多,导致超出父视图的界限而无法点击,所以决定直接将下拉列表加在 self.view 上。
iOS - 实现映客首页 TabBar 和滑动隐藏 NavBar 和 TabBar
之前在做直播的时候,参照了映客 App,发现其首页的效果还挺不错,在网上找了一下相关仿映客 App 代码和博客,大部分都是说如何播放直播流和推流,对于 UI 这块甚少,所以我自己花了点时间研究了一下映客的首页 UI 效果。
iOS UIScrollView 分页滑动宽度自定义实现
App 中最常用 轮播图, 关于它的实现有很多方法 如 : Anination, UIScrollView, UICollectionView . 动画是另一种思路, UICollectionView 继承于 UIScrollView. 作者今天就用 UIScrollView 讲一下 , 分页效果下 滑动宽度小于屏幕宽度 露出上下页内容, 或 滑动视图之间 间隙问题
iOS 触摸事件的流动
起始阶段
—-> cpu 处于睡眠状态,等待事件发生
—-> 手指触摸屏幕
iOS UIImage 图片处理
介绍了 iOS 开发中几种图片处理过程中的情况。
iOS 动画进阶 - 手摸手教你写 ShineButton 动画
详细介绍写出漂亮的 ShineButton
iOS - APP 任意 push 新页面那些事
大家都知道,UINavigationController 对象有一个方法 pushViewController,用来做视图跳转,也是在 iOS 开发中常用的页面转换方法之一。大多数 APP 的结构一般都是,使用一个 UITabBarController,每个 tab 上都是一个 UINavigationController,然后各个 tab 上的 navigationController 自己管理各自的视图栈。
iOS 网络 --『文件下载、断点下载』的实现(三):AFNetworking
iOS 网络 --『文件下载、断点下载』的实现(三):AFNetworking。
iOS 开发断点调试高级技巧
关于 LLDB 调试,很多 iOS 开发者可能就是停留在会下简单的断点,使用最多命令也就是 po。无可厚非,这些简单的调试对于简单的问题来说应该是游刃有余。但是如果稍微复杂一些的问题,比如我之前遇到过友盟 SDK 里面的一个问题。我很想往里面下一个断点,可是对于. a 的静态库来说,这根本不可能,最终还是我们组大牛使用命令的方式下了断点解决了这个问题。感觉这些知识很有必要,我于是把 LLDB 的基本调试命令都学习了一下,并在此与大家分享。
5 年 iOS 经验做的基础工程送给你,起步就领先别人
5 年 iOS 经验做的基础工程送给你,起步就领先别人。
iOS 小技巧总结,绝对有你想要的
在这里总结一些 iOS 开发中的小技巧,能大大方便我们的开发,持续更新。
分析系统查找第一响应者的过程实现
分析系统查找第一响应者的过程实现
iOS 面试常见问题最全梳理
看到一篇看起来好全的 iOS 面试题分享给大家
iOS 字典的排序问题
在日常开发中, 经常会遇到根据字典的 Key 对 Value 进行排序的问题, 所以对于此类问题抽出一个通用方法, 废话不多说, 上代码.
AutoLayout 使用详解
前言 故事从一年前说起,当时由于接到一个新项目开发任务开发之前想了想以前项目UI布局方式大多数都是frame计算有的也用到masonry。 frame大家都知道适配各种屏幕非常繁琐各种坐标size计算代码很冗余后期难以维护。 masonry开源给iOS开发者带来福音简化了Aut…
iOS应用之间的跳转解析
欢迎大家关注我的公众号,我会定期分享一些我在项目中遇到问题的解决办法和一些iOS实用的技巧,现阶段主要是整理出一些基础的知识记录下来 文章也会同步更新到我的博客:http://ppsheep.com 我们先来看一下效果图 这是从一个APP直接跳到另外一个APP的效果 1 这是从…
iOS, 面试必看,最全梳理
最全面试题
iOS QRcode 识别及相册图片二维码读取识别
最近碰到一个用户 在使用我们 微链 App 的时候,在分辨率低或者频率低的显示器上扫不出二维码。然后网上找了很多,试了很多,还是没有找出合适的方法,想想把三种扫描(系统原生 API,ZBar,ZXing)写个 Demo,做个小总结,看看从什么地方可以找到解决方法,也希望各位大神能给我指条明路
自定义按钮之:文字图片位置随意定制
按钮是应用中最常见的, 最基本的一个控件。按钮的样式多种多样,系统默认样式为左右结构,图片在左边,文字在右边。系统按钮完全无法满足开发的需求,我们只能自己定制出想要的样式。
面试了 20 个初/中级 iOS 工程师之后(上)
**最重要的话写在前面:本文从现在开始不允许任何公众号、论坛社区、微博转载。已经转载的管不了了,后面看到这句话请一定不要转载,谢谢。 这篇文章引起这么大反响是我始料未及的,本意只是想记录下自己这段时间的经历,完全没想到被转载出去之后这么多人来看。一开始我自己发在简书和掘金,都是…
天天都在用的 SDWebImage, 你了解它的缓存策略吗?
SDWebImage 相信对大多数开发者来说,都是一个不陌生的名字。它除了帮助我们读取网络图片,还会处理这些图片的缓存。它的缓存机制到底是什么样的呢,让我给跟大家唠叨唠叨,希望你能有收获。
iOS 10 不提示「是否允许应用访问数据」,导致应用无法使用的解决方案
前言 由于大陆相关部门出台的新规定指出,应用在未经用户允许的前提下,系统不能授予其使用联网、获取定位的功能。Apple 在 iOS 10 操作系统中加入了关于应用使用数据的授权弹窗提示,用户在 iOS 10 系统中第一次打开应用时,会被要求对于是否授予应用联网权限进行选择。 不…
iOS 网络请求之 ASI 与 AFN 的二次封装及意义
iOS9.0 之后,NSURLConnection 被苹果抛弃,该来的即便是迟些,但最终肯定会来。对于迷恋 NSURLConnection 还要适配 iOS 低版本的公司,就不得不三思了,当然,使用 NSURLSession 也是不错的,但面对成熟的 ASI 和 AFN,我们更有理由选择。
适配 iOS 10,极光推送用户要做这 6 处更改
Change 1:升级至 Xcode 8 建议尽快升级。使用 iOS 10 SDK 需要 Xcode 8 的支持。iOS 10 推出两周内,安装率就已经达到 48.16%,不升级 Xcode 8 并适配 iOS 10 意味着你现在可能已经损失了 50% 的高端客户,而且在未来的…
iOS 学习资料整理 {非常有用, 强烈推荐}
这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的目前所处的位置.
iOS 10 适配知识点总结
刚刚过完中秋节,第二天 app 上线被拒,原因是因为启动 app 就会 crash,领导大早上给我打电话让我去公司解决,好吧谁让人家是领导呢!正好 iOS10 系统刚刚出来,需要适配 iOS10,不然上线还是会拒,所以我果断升级了 xcode8.0。我总结了一些资料,接下来介绍一下 iOS 适配的一些知识点
实现 iOS 前台时的推送弹窗效果
或许很多童鞋还不知道,在 iOS 中收到推送通知时,如果 App 处于前台运行的情况下,推送的顶部弹窗是不会弹出来的。 然而就是有很多的产品经理都会提出类似这样的需求:那就是在 App 处于前台时一样要弹出推送的窗口,而且还要能点击,能跳转到指定页面,甚至这一需求还涉及…
快捷保存手机号码到通讯录 - 类似微信
快捷保存手机号码到系统通讯录中的需求在很多的应用中都会用的到,QQ、微信等社交软件都是可以见到的,虽然实现起来也是很简单的,小编还是把这个小功能整理一下,方便后面在需要的时候能方便的使用,也能方便朋友们能感到方便。有需要的直接可以拿去,甚是方便,废话不多说,代码已经上传 Github
iOS 静态库封装
iOS 静态库封装
iOS 纵横列表切换(京东, 淘宝商品展示页)
本文主要说下纵横切换的商品列表页。
NavigationController 已经洗干净了, 就等你来
关于 NavigationController 的一些总结
IDCardRecognition - 中国大陆第二代身份证识别 iOS 库
中国大陆第二代身份证识别,自动读出身份证上的信息(姓名、性别、民族、住址、身份证号码)并截取身份证照片
pbxprojHelper - Xcode 工程文件助手
pbxprojHelper 可以帮你快速配置 Xcode 工程文件,省去麻烦的人工手动操作。项目开源,使用 Swift 开发,详细介绍请见使用说明。除了 Mac App 外还提供了命令行工具 pbxproj,它集成了 pbxprojHelper 的核心功能,同样简易实用。
因为 README_ZH 中对使用方法已经讲得很详细了,这里重点说的是产品方案和技术实现。
iOS图片,视频上传&视频内容旋转
前言我最近在接手一个智能盒子的iOS应用,上面有一个功能是这样的。把你本地的照片和视频可以甩屏到你绑定的盒子上。我的上一位前辈做的时候必须要求再同一个局域网,但是当我做的时候要求不同的局域网也要实现这样的一个功能,优化用户的使用感受。 #那么 我们下面就进入正题。 #内容一:…
如今,日子是越来越好了,大多数的同学有时还是管不住自己的嘴,一不留神把自己吃成了 “小胖子”;软件也如此,随着科技的发展,手机硬件配置的提高,手机 App 的功能也越来越多,经过 1 年左右的开发叠代,“百度高考 iOS” 从最初 1.0 版的 10MB 左右,不知不觉,安装程序已 43MB + 了,唉,“减肥”迫在眉睫啊!!!!
iOS 常用宏定义
总结了 iOS 开发过程中的一些常用宏,以后会陆陆续续添加进来。
iOS - 正则表达式的应用
正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分。它可以迅速地用极简单的方式达到字符串的复杂控制。
iOS 轮播图 banner
楼主项目中需要有一个轮播图,因为比较简单,就自己写了个,因为是从网上弄得图片 所以用了 SDWebImage 这个三方库 当然自己也可以去掉。
一劳永逸,iOS 多选弹窗封装流程
本文为 iOS 自定义视图封装《一劳永逸》系列的第三期,旨在提供封装思路,结果固然重要,但理解过程才最好。授人以鱼不如授人以渔。
iOS 基础问答面试题连载 (三)- 附答案
这次的问题是网络多线程相关的。
MJRefresh 源码解析
从流程图,到功能实现细节,介绍了 iOS 最流行的下拉刷新控件:MJRefresh。
PYTheme
通过 NSObject 的分类实现使用简单的主题更换。
AFNetworking 3.0 源码解析之 UIKit
AFNetworking 3.0 源码解析之 UIKit
iOS - 面试划重点了
delegate 属性为什么使用 weak ?
xib/storybard 连接的对象为什么使用 weak?
字符串 为什么使用 copy?
Block 为什么使用 copy?
iOS 获取经纬度
iOS 获取经纬度单例类