上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页

2020年12月28日

059:单元测试

摘要: OS 单元测试简单讲解 单元测试的特点 用代码来测试代码 红灯/绿灯迭代开发 在日常开发中, 数据大部分来自网络, 很难出现'边界数据', 如果不测试所有条件就上架, APP就容易发生闪退 自己建立测试用例 单元测试不是靠NSLog来进行测试的, 是使用'断言'来测试的, 提前设置的条件必须满足才能 阅读全文

posted @ 2020-12-28 23:06 风zk 阅读(123) 评论(0) 推荐(0)

057*:应用程序的生命周期

摘要: 一:iOS应用程序生命周期(前后台切换,应用的各种状态)详解 iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使 阅读全文

posted @ 2020-12-28 19:28 风zk 阅读(229) 评论(0) 推荐(0)

056*: iOS 容错处理机制

摘要: app开发过程中,我们可能遇到很多崩溃,都可以根据崩溃日志进行修复,但很多时候,一些不确定数据(服务端数据)可能会导致一些意外的崩溃,但对于一个好的应用来说,崩溃率是有严格限制的,因此,很多时候需要预防一些常见崩溃 一:越界判断: 1:数组越界,可以通过对数组进行类目扩展,在类目中,对数组进行判断, 阅读全文

posted @ 2020-12-28 13:00 风zk 阅读(173) 评论(0) 推荐(0)

055*: (load、initialize)(UIView和CALayer)(@synthesize 和 @dynamic)(layoutIfNeeded和setNeedsLayout)(include import @class)(id和NSObject ,instancetype)(NSNumber)

摘要: (load、initialize) (UIView和CALayer)、 (@synthesize 和 @dynamic) (layoutIfNeeded和setNeedsLayout) (include import @class) (id和NSObject ,instancetype) 一:loa 阅读全文

posted @ 2020-12-28 12:53 风zk 阅读(219) 评论(0) 推荐(0)

053*:bitMap

摘要: 一:bitMap: 所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5 阅读全文

posted @ 2020-12-28 11:17 风zk 阅读(147) 评论(0) 推荐(0)

052*:CocoaPods的原理和组件化实现

摘要: 问题: 目录: 1:HomeBrew 2:RVM 3:Ruby 4:CocoaPods 前言: Cocoapods安装顺序 Xcode->HomeBrew->RVM->Ruby->Cocoapods; 正文: 一:安装HomeBrew 1:HomeBrew简介 Homebrew:Homebrew 是 阅读全文

posted @ 2020-12-28 00:01 风zk 阅读(349) 评论(0) 推荐(0)

2020年12月27日

051*:dSYM你是如何分析的?

摘要: 1:dSYM命令: atos符号化: 2:工具 dSYMTools 3:友盟官网 4:利用NSSetUncaughtExceptionHandler处理 捕获异常。邮件发送。 引用: 1:iOS 用dSYM工具分析友盟崩溃日志 —— 详细步骤 2:iOS崩溃日志分析__dSYM解析 3:【iOS】a 阅读全文

posted @ 2020-12-27 23:45 风zk 阅读(221) 评论(0) 推荐(0)

050*:AppDelegate如何瘦身?

摘要: 1:AppDelegate分类(Category) 2:钩子函数:交换方法(不建议使用) 3:通过单例给AppDelegate瘦身 4:FRDModuleManager 优点: 简单,只需要几行代码就可以解决。 被添加的每个模块都可以“享受”AppDelegate的各个生命周期。 缺点: 每个模块都 阅读全文

posted @ 2020-12-27 23:04 风zk 阅读(273) 评论(0) 推荐(0)

047*:方法签名有什么作用?事务?索引?多态?Images.xcassets?图片大小计算?影响因素?isEqual和hash方法?

摘要: 一:方法签名 计算机程序包括许多使人工任务自动化的算法。这些程序被分成小的模块化组件,这些组件被称为方法和函数。每个方法都有一个特定的格式来描述它在程序中的作用。方法签名是方法的形式定义,它提供了对该功能的高级描述。在计算机操作在软件开发中使用了许多计算机语言。 每种语言都有创建方法签名所需的特定格 阅读全文

posted @ 2020-12-27 21:59 风zk 阅读(219) 评论(0) 推荐(0)

046*:证书过期怎么办?

摘要: 一、开发和发布证书作用 1、类似上边证书样式的就是Certificates(证书,包括开发、发布证书),作用 : 这.cer文件格式的证书是让开发者使用的设备(也就是你的Mac)有真机调试,发布APP的权限。 2、类似上边证书样式的就是Provisioning Profiles(描述文件,简称PP) 阅读全文

posted @ 2020-12-27 21:34 风zk 阅读(1310) 评论(0) 推荐(0)

045*:ipa包的大小受哪些影响?app瘦身

摘要: 一:资源优化 1:删除无用的资源文件 在这里推荐使用工具LSUnusedResources。它在脚本的基础上,做了两个改进: 提高匹配速度。LSUnusedResources不是对每个资源文件名都做一次全文搜索匹配,因为加入项目的资源太多,这里会导致性能快速下降。它只是针对源码、Xib、Storyb 阅读全文

posted @ 2020-12-27 20:54 风zk 阅读(482) 评论(0) 推荐(0)

041*:(反射是什么?可以举出几个应用场景么?)(切面aop编程)(App 无痕埋点的思路了解么?你认为理想的无痕埋点系统应该具备哪些特点?)

摘要: 1:反射是什么?可以举出几个应用场景么? 1:了解反射机制 Objective-C语言中的OC对象,都继承自NSObject类。这个类为我们提供了一些基础的方法和协议,我们可以直接调用从这个类继承过来方法。当然,本篇文章中讲到的反射方法,就在NSObject和Foundation框架中。 // 在实 阅读全文

posted @ 2020-12-27 15:01 风zk 阅读(265) 评论(0) 推荐(0)

0000*:OC面试汇总

摘要: 1:MVC和MVVM的区别?MVVM和MVP的区。如何双重绑定. set方法修改ViewModel属性,ViewModel中KVO监听,做出数据请求,之后block传到View。 2:AFNetworking的底层原理。 3:SDWebimage,SDWebImage 下载了图片后为什么要解码? 4 阅读全文

posted @ 2020-12-27 07:47 风zk 阅读(278) 评论(0) 推荐(0)

2020年12月26日

039*:UIViewController生命周期,在init方法里面,设置背景颜色,会生效吗?

摘要: 问题 在init方法里面,设置背景颜色,会生效吗? 不会,因为view还没显示出来。 目录 预备 // // ViewController.m // UIControllerLifeCicle // // Created by 帝炎魔 on 16/5/5. // Copyright © 2016年 阅读全文

posted @ 2020-12-26 02:10 风zk 阅读(557) 评论(0) 推荐(0)

036*:AFNetwork源码分析

摘要: 1:文件 2:函数调用栈 3:简单介绍 4:AFHTTPSessionManager 介绍 1: AFHTTPSessionManager是继承AFURLSessionManager 2:AFHTTPSessionManager: 发起网络请求(例如GET); 3:AFHTTPSessionMana 阅读全文

posted @ 2020-12-26 00:38 风zk 阅读(205) 评论(0) 推荐(0)

2020年12月16日

25*:排序算法:总结 (1、冒泡排序:2:选择排序:3、插入排序:4、希尔排序:5、堆排序:6、归并排序:7、快速排序:)

摘要: 问题 目录 1、冒泡排序:未排序区间两两交换找到最大值,排在最后,形成有序区间。稳定 2:选择排序:从未排序区间找最小元素,和排序区间的最后一个元素交换位置。 3、插入排序:从未排序区间依次取出元素插入到排序区间的适当位置。稳定 4、希尔排序:缩小增量排序 5、堆排序:完全二叉树大堆顶,交互堆顶和最 阅读全文

posted @ 2020-12-16 20:18 风zk 阅读(301) 评论(0) 推荐(0)

24*:排序算法7:快速排序(分区值,分而治之)

摘要: 问题 目录 预备 快排利用了分治的思想,分而治之,分治算法的基本思想是将一个规模为N的问题,分解成K个规模较小的子问题,这些子问题相互独立且问题性质相同。 求解出子问题的解,合并得到原问题的解。拆分问题总不可能手脚并用一个个拆分,因此分治算法大多采用递归实现。 正文 快速排序 1:算法描述 对A[p 阅读全文

posted @ 2020-12-16 19:07 风zk 阅读(367) 评论(0) 推荐(0)

23*:排序算法6:归并排序(两两分而治之。稳定)

摘要: 问题 目录 预备 冒泡,选择和插入排序,它们的时间复杂度都是O(n2),比较高,适合小规模数据的排序;希尔排序和快速排序都不稳定,这篇我们来说说稳定的归并排序。归并排序在数据量大且数据递增或递减连续性好的情况下,效率比较高,且是O(nlogn)复杂度下唯一一个稳定的排序,致命缺点就是空间复杂度O(n 阅读全文

posted @ 2020-12-16 19:05 风zk 阅读(875) 评论(0) 推荐(0)

22*:排序算法5:堆排序(完全二叉树大堆顶,交互堆顶和最后元素,找到最大元素。递归依次排序。)

摘要: 问题 目录 预备 正文 一:什么是堆? 1:定义 堆(英语:Heap)是计算机科学中的一种特别的完全二叉树,满足特性"给定堆中任意节点P和C,若P是C的母节点,那么P的值会小于等于(或大于等于)C的值"。 摘自维基百科。 首先堆是一个完全二叉树(除了最后一层,其他层的节点个数都是满的,最后一层的节点 阅读全文

posted @ 2020-12-16 17:57 风zk 阅读(322) 评论(0) 推荐(0)

21*:排序算法4:希尔排序(缩小增量排序)

摘要: 问题 //起始间隔值gap设置为总数的一半,直到gap==1结束 -(void)shellSort:(NSMutableArray *)list{ int gap = (int)list.count / 2; while (gap >= 1) { for(int i = gap ; i < [lis 阅读全文

posted @ 2020-12-16 16:49 风zk 阅读(241) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页

导航