蓝云阁主的博客

开源、共享、学习是IT人不断强大自己的力量源泉!

消息机制

runtime----消息发送机制 objc_msgSend执行流程: OC中的方法调用,其实都是转换为objc_msgSend函数的调用 objc_msgSend的执行流程可以分为3大阶段: 1.消息发送 2.动态方法解析 3.消息转发 在消息发送阶段就会找到相应方法进行调用,如果...

2019-04-12 17:00:56

阅读数 49

评论数 0

购买汽车都有哪些费用,以及计算公式

购置税:计算公式:裸车价+1.170.1;例如:10万+1.1780.1=8547; 交强险:6座以下950,6座及以上1100; 车船税:根据排量来缴纳:1.0L以下-180;1.0-1.6L-360;1.6-2.0L-450;等等 车损险:计算公式:基本保费+新车购置价费率;例如:10万...

2019-03-30 15:03:48

阅读数 355

评论数 0

设计模式与架构

何为架构? 架构(Architecture) 软件开发的设计方案 类与类之间的关系、模块与模块的关系、客户端与服务端的关系 经常听到的架构名词 MVC、MVP、MVVM、VIPER、CDD(这些设计模式一般都是在架构里的界面层使用的) 三层架构:界面层(展示UI页面等) -> 业务层...

2019-03-29 13:13:53

阅读数 7129

评论数 0

安装包瘦身

安装包瘦身: 1.安装包(IPA)主要由可执行文件、资源组成 2.资源(图片、音频、视频等) 采取无损压缩 去除没有用到的资源:https://github.com/tinymind/LSUnusedResources 3.可执行文件瘦身 编译器优化 Strip Linked Prod...

2019-03-28 15:41:47

阅读数 105

评论数 0

iOS性能优化

CPU和GPU 1.在屏幕成像过程中,CPU和GPU起着至关重要的作用 CPU(Central Processing Unit,中央处理器) 对象的创建和销毁、对象属性的调整、布局计算、文本的计算和排版、图片的格式转换和解 码、图像的绘制(Core Graphics) GPU(Graphi...

2019-03-28 14:47:56

阅读数 110

评论数 0

内存管理

用弱指针weak解决循环引用的问题,只针对block CADisplayLink、NSTimer使用注意: 一.CADisplayLink,NSTimer会对target产生强引用,如果target又对他们产生强引用,那么就会引发循环引用 解决方案: 1.使用block __weak typeof...

2019-03-26 16:18:17

阅读数 119

评论数 0

Runtime

Object-C是一门动态性比较强的编程语言,跟C、C++等语言有着很大的不同。 Object-C的动态性是由Runtime API来支撑的。 Runtime API提供的接口基本都是C语言的,源码由C、C++、汇编语言编写。 objc_msgSend执行流程: OC中的方法调用,其实都是转...

2019-03-19 17:30:38

阅读数 108

评论数 0

多线程笔记

iOS中常见的多线程方案(后面三个的底层都是基于pthread) 技术方案 简介 语言 线程生命周期 使用频率 pthread - 一套通用的多线程...

2019-03-16 16:46:32

阅读数 113

评论数 1

RunLoop笔记

什么是Runloop? 顾名思义,运行循环,在程序运行过程中做一些事情,Runloop也是一个对象。 应用范围: 1.定时器(Timer)、PerformSelector 2.GCD Async Main Queue。//GCD主线程(GCD的子线程是不需要Runloop的 3.事件响应...

2019-03-15 15:35:48

阅读数 112

评论数 1

封装、继承、多态

封装、继承、多态 三、多态: 多态一般都要和继承结合起来说,其本质是子类通过覆盖或重载,父类的方法,来使得对同一类对象同一个方法的调用产生不同的结果。 实现: 我们在实现获取不同电脑运行的不同系统时,先创建一个Computer类(父类)并添加一个system方法,再创建一个PC类(继承于Compu...

2019-03-15 15:32:30

阅读数 96

评论数 0

沙盒中 document、tmp、library 的区别

documents,tmp,app,Library。 (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1、Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下。这个目录用于存储用户数据...

2019-03-15 15:30:29

阅读数 100

评论数 0

单例模式基本用法

在objective-c中要实现一个单例类,至少需要做以下四个步骤: 1、为单例对象实现一个静态实例,并初始化,然后设置成nil, 2、实现一个实例构造方法检查上面声明的静态实例是否为nil,如果是则新建并返回一个本类的实例, 3、重写allocWithZone方法,用来保证其他人直接使用allo...

2019-03-15 15:29:11

阅读数 95

评论数 0

Core Data基础概念总结

Core Data涉及到的几个主要的概念可以对应数据库来理解: NSManagedObjectContext(托管对象上下文):数据库 NSEntityDescription(实体描述):表 NSFetchRequest(请求):命令集 NSPredicate(谓词):查询语句 在书中给出的例子中...

2019-03-15 15:28:05

阅读数 92

评论数 0

真机调试步骤

真机调试的步骤: 1.注册成为苹果开发者(99$) 2.登陆苹果开发者主页 https://developer.apple.com/membercenter/index.action 3.点击 Certificates, Identifiers & Profiles 4.点...

2019-03-15 15:26:59

阅读数 96

评论数 0

网络解析

网络解析 又叫网络编程、网络请求 完整的网络请求分为三步: 1>url NSURL 请求网络地址 2>request 请求对象 3>connection 连接对象 其中2>又分为两种:get请求和post请求 ...

2019-03-15 15:19:43

阅读数 97

评论数 0

iOS 获取手机缓存的方法、清空的方法

注意:先导入SDImageCache.h和SDImageCache.m 1.获取缓存方法 (NSString *)getSdHuanCun{ NSUInteger intg = [[SDImageCache sharedImageCache] getSize]; NSString * curr...

2019-03-15 15:00:24

阅读数 82

评论数 0

UItableview用法总结: 单元格删除、添加方法、拖动单元格

#pragma mark-- 单元格删除、添加方法,只要实现了此方法就能支持删除了,但添加还需要其它 (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingS...

2019-03-15 14:58:03

阅读数 89

评论数 0

iOS常见面试题总结

1.协议的原理和本质 protocol无论是在哪个领域都是一种约束,规范。在OC中的协议主要用于在各个类之间进行回调传值。协议有委托方,代理方,委托方是协议的制定者,需要声明协议的方法,实现协议的对象。代理方,是协议的遵守着,需要遵守协议,并实现协议中的必要方法。 2.ARC自动引用计数机制 co...

2019-03-14 11:21:23

阅读数 132

评论数 0

KVO用法总结

iOS用什么方式实现对一个对象的KVO?(KVO的本质是什么?) 1>利用RuntimeAPI动态生成一个子类,并且让instance对象的isa指向这个全新的子类 2>当修改instance对象的属性时,会调用Foundation的NSSetxxxVa...

2019-03-14 11:15:30

阅读数 95

评论数 0

frame和bounds的原理和本质总结

frame指的是:该view在父view坐标系统中的位置和大小(参照点是父view的坐标系统) bounds指的是:该view在本身坐标系统中的位置和大小(参照点是本身坐标系统) Objective-C的类不可以多重继承;可以实现多个接口(协议);Category是类别;一般情况用分类好,用Cat...

2019-03-14 11:12:50

阅读数 96

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭