
IOS学习笔记
记录本人在学习IOS之路上总结的知识点
A一剑飞鸿
书山有路勤为径,学海无涯苦作舟。
展开
-
IOS SDWebImage内部实现原理
想必大家都很熟悉SDWebImage了,项目中也经常用。可大家知道它的实现原理吗?今天就跟大家分享一下。 先看一下下面这幅图: 图片解释:内存层面的相当是个缓存器,以Key-Value的形式存储图片。当内存不够的时候会清除所有缓存图片。用搜索文件系统的方式做管理,文件替换方式是以时间为单位,剔除时间大于一周的图片文件。当SDWebImageManager向SDImageCache要资源时,先搜索原创 2018-01-10 14:12:06 · 1169 阅读 · 0 评论 -
iOS解决NSArray、NSDictionary打印乱码问题
原来打印dict = {key1 = abc;key2 = "\U4e2d\U6587";} array = (abc,"\U4e2d\U6587")使用方法:将 NSArray+Extension 和 NSDictionary+Extension 两个分类拖入项目即可打印效果 :2015-08-08 10:19:36.294 ICUnicodeDemo[2135:50801]dict原创 2017-11-24 14:16:12 · 1074 阅读 · 0 评论 -
IOS中NSArray的4种遍历方式
objective-c 语言 数组遍历的4种方式:1、普通for循环;2、快速for循环;3、特性block方法;4、枚举方法。一. for循环Student *stu = [Student student]; NSArray *array = [NSArray arrayWithObjects:stu, @"1",@"2",nil]; int count = array.count;//原创 2017-11-24 15:55:16 · 2804 阅读 · 0 评论 -
IOS设计模式之单例模式(Singleton)
定义 保证一个类仅有一个实例,并提供一个该实例的全局访问点。 定义包含三层含义:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须向整个系统提供这个实例。结构图 从结构图可以看到,单例模式(Singleton)是比较独立的一个设计模式,它的主要特点是控制某个类的实例唯一性,通过上图我们知道它包含的类只有一个,就是Singleton。该模式中包含一个静态私有成员变量mySingle原创 2017-10-11 15:06:40 · 569 阅读 · 0 评论 -
iOS 11 与 iPhone X的适配
前言9月20日,正式推送Xcode 9 和iOS 11 的正式版,适配iOS 11是首要的适配的,网上教程很多,不在赘述。这里主要讲的是 iPhone X的适配。大神级别的可以不用看,我这里讲的主要是基础的适配工作摘要启动图: 1125 * 2436 statusBar高度: 44 tabbar高度: 83启动App对于一些老项目,在启动图上,可能没有采用xib或者SB进行适配的,所以可能会原创 2017-09-30 15:41:10 · 888 阅读 · 0 评论 -
完美适配 iOS11
在Appdelegate.m中的didFinishLaunchingWithOptions 方法中添加如下代码,就全局搞定了!if (@available(ios 11.0,*)) { UIScrollView.appearance.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;原创 2017-09-30 12:02:56 · 1102 阅读 · 0 评论 -
iOS判断对象是否为空
iOS判断对象是否为空需考虑4种情况,给NSObject写个分类,方便用.@interface NSObject (additions)/** * 判断对象是否为空 * PS:nil、NSNil、@""、@0 以上4种返回YES * * @return YES 为空 NO 为实例对象 */+ (BOOL)dx_isNullOrNilWithObject:(id)object;原创 2017-09-28 14:46:47 · 1943 阅读 · 0 评论 -
MJExtension使用指导
MJExtension能做什么?MJExtension是一套字典和模型之间互相转换的超轻量级框架MJExtension能完成的功能字典(JSON) --> 模型(Model)模型(Model) --> 字典(JSON)字典数组(JSON Array) --> 模型数组(Model Array)模型数组(Model Array) --> 字典数组(JSON Array)MJExtensio转载 2017-09-28 11:55:44 · 612 阅读 · 0 评论 -
iOS编译库文件时出现的问题
1. 警告:directory not found for option “xxxxxxxx” 文件路径未找到 **选择工程, 编译的 (targets)选择 Build Settings 菜单查找 Library Search Paths 和 Framework Search Paths, 删掉编译报warning的路径即OK 详细步骤图文参考2. missing required ar原创 2017-09-22 14:09:54 · 628 阅读 · 0 评论 -
保持iOS设备屏幕常亮的方法
因为自己的应用程序运行的时候需要保持屏幕常亮,可以加入以下语句: (1)如果是在Xcode中做开发:[ [ UIApplication sharedApplication] setIdleTimerDisabled:YES ] ;设置为YES保持屏幕常亮.(2)iOS5中,可以调节亮度了,我没有试过,大家试试看[[UIScreen mainScreen]setBrightness:0.5f];原创 2017-09-19 14:13:08 · 1290 阅读 · 0 评论 -
iOS 几种常用的 crash log 崩溃信息调试方法
前言:crash log 对 定位崩溃问题 ,并且不容易复现,尤其是及时对appstore 上正在运营的 app 的迭代改进来说 非常重要. 1 crash两种情况1.1 测试环境下 追踪bug1.2 App Store 上应用 追踪bug 我们主要讨论在App Store 上应用 追踪bug 的情况2 获取crash log信息途径2.1自己收集,做错误分析 错误趋势:收集崩溃信息 存储转载 2017-09-04 15:57:52 · 1834 阅读 · 0 评论 -
Xcode中常用的快捷键
在Xcode 中有许多快捷键的设定可以使得你的编程工作更为高效,对于在代码文件中快速导航、定位Bug以及新增应用特性都是极有效的。当然,你戳进这篇文章的目的也在于想要快速的对代码文件进行操作,或者是让Xcode的各面板更为适应你小本子的屏幕。在Xcode 所有快捷键中下列这些是首当其冲应当学习的。在你学习到如何使用之后,也许就再也离不开它们了。Xcode导航快捷键1.工程导航器:Command+1快原创 2017-09-14 14:54:53 · 850 阅读 · 0 评论 -
SDAutoLayout 使用简介
都说 SDAutoLout 比 Masonry 好用.到底是哪方便优于它呢?下面我们来看看网上的一个例子,来分析用法. 请看下面这个图: 图上所示 现在我要讲的就是这种形式的cell的布局UIImageView *view0 = [UIImageView new];//创建头像UILabel *view1 = [UILabel new];//用户名UILabel *view2 = [UI原创 2017-09-05 11:23:05 · 1246 阅读 · 0 评论 -
IOS第三方开源项目
1.AFNetworking 地址:https://github.com/AFNetworking/AFNetworking 用于网络请求2.JSONKit 地址:https://github.com/johnezang/JSONKit 解析JSON3.Reachability 地址:https://github.com/tonymillion/Reachability 检查网络状况4.原创 2017-09-07 10:17:08 · 273 阅读 · 0 评论