随笔分类 -  12:OC底层知识和面试

isa、class、cache、msg_send、llvb启动流程、object_init、mapImage、loadImage、kvc、kvo、pthread、NSThread、NSOperation、GCD、@synchronized、NSLock、NSCondition、LLVM、Clang、二进制重排、内存管理、组件化、MVC、MVVM+RAC、MVP
062*:git命令
摘要:一:git配置用户名和邮箱 // 1: 初次安装git需要配置用户名和邮箱 git config --global user.name "zk" git config --global user.email "666666@qq.com" // 2:查看配置的信息 git config --list 阅读全文

posted @ 2021-01-11 22:06 风zk 阅读(96) 评论(0) 推荐(0) 编辑

061:WebViewJavascriptBridge交互原理
摘要:WebViewJavascriptBridge源码分析 WebViewJavascriptBridge 结合源码原理分析 ios WebViewJavascriptBridge源码解析 iOS源码补完计划-WebViewJavascriptBridge实现原理 WebViewJavascriptBr 阅读全文

posted @ 2020-12-29 00:43 风zk 阅读(163) 评论(0) 推荐(1) 编辑

060:URLScheme和Universal Links
摘要:Universal Links (iOS 9) 1:iOS 10 Universal Links(通用连接),从微信网页连接跳转到公司APP之实现流程详解--2016最新版 2:iOS 通用链接(Universal Link)唤起app的实现方法 3:iOS Universal links教程 UR 阅读全文

posted @ 2020-12-29 00:00 风zk 阅读(120) 评论(0) 推荐(0) 编辑

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

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

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

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

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

posted @ 2020-12-28 13:00 风zk 阅读(148) 评论(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 阅读(203) 评论(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 阅读(99) 评论(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 阅读(293) 评论(0) 推荐(0) 编辑

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 阅读(193) 评论(0) 推荐(0) 编辑

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

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

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

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

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

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

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

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

041*:(反射是什么?可以举出几个应用场景么?)(切面aop编程)(App 无痕埋点的思路了解么?你认为理想的无痕埋点系统应该具备哪些特点?)
摘要:1:反射是什么?可以举出几个应用场景么? 1:了解反射机制 Objective-C语言中的OC对象,都继承自NSObject类。这个类为我们提供了一些基础的方法和协议,我们可以直接调用从这个类继承过来方法。当然,本篇文章中讲到的反射方法,就在NSObject和Foundation框架中。 // 在实 阅读全文

posted @ 2020-12-27 15:01 风zk 阅读(213) 评论(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 阅读(235) 评论(0) 推荐(0) 编辑

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

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

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

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

033*:strong和weak,(strong=retain+release)weak(self指针地址和weakSelf地址不一样、 weakSelf没有对引用计数+1)
摘要:问题 1: weak表其实是一个哈希表,key是所指对象的指针,value是weak指针的地址数组。(value是数组的原因是:因为一个对象可能被多个弱引用指针指向) Runtime维护了一张weak表,用来存储某个对象的所有的weak指针。 2: 当前self取地址 和 weakSelf取地址的值 阅读全文

posted @ 2020-12-05 18:19 风zk 阅读(62) 评论(0) 推荐(0) 编辑

032*:MVP、MVVM+RAC、MVC
摘要:问题 MVVM和MVP的最大区别是采用了双向绑定机制,View的变动,自动反映在ViewModel上。 1: MVP: 在数据模型M中发起请求,在Presenter组织好数据,通过协议,哪个view遵守了Presenter的协议,数据返回给指定的view; 2: MVVM: 1:一个View对应一个 阅读全文

posted @ 2020-12-04 20:32 风zk 阅读(239) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示