风中的劲草

纯属交流

排序:
默认
按更新时间
按访问量

iOS KVC实现原理

文章目录 一、KVC在iOS中的定义 二、常用的方法说明 三、赋值实现原理 四、取值实现原理一、KVC在iOS中的定义 KVC的全称为keyValueCoding,简称键值编码。是对NSObjcet的扩展,分类名为 : NSKeyValueCoding 我们经常用KV...

2018-05-05 20:23:35

阅读数:59

评论数:0

iOS hitTest

文章目录 一、什么是hitTest 二、hitTest的调用顺序 三、事件的传递顺序 四、hitTest的实现思路 五、hitTest的运用场景 1、事件穿透 2、子视图超出父视图范围 一、什么是hitTest - (UIView*...

2017-11-01 14:03:06

阅读数:305

评论数:0

iOS runtime 之消息发送机制三次拯救机会

文章目录 一、消息发送概述 二、runtime 三次 拯救机会 1、Method resolution 2、Fast fowarding 3、Normal forwarding 一、消息概述 在编码过程中,我们经常会遇到类似 unrecognized selector ...

2017-10-31 11:30:45

阅读数:206

评论数:0

iOS Notification实现原理

目录 一、通知的基本使用 1、基本概念 2、什么情况下使用通知 3、如何使用通知 4、使用通知需要注意哪些细节 二、通知的实现原理 1、概述 2、实现 一、通知的基本使用 1、基本概念 NSNotification 是i...

2017-07-26 14:31:36

阅读数:1512

评论数:1

iOS KVO的使用和原理实现

文章目录 一、KVC(键值编码 key-value-coding) 1、概念 2、简单使用 1> 注册观察者,添加观察对象属性 2> 实现回调方法 3>...

2017-07-24 17:04:38

阅读数:287

评论数:0

iOS 笔试面试题

1、为什么说OC是一门动态语言?主要体现以下三个方面: 动态类型、动态绑定、动态加载 (1) 动态类型 : 即运行时再决定对象的类型。简单说就是id类型,任何对象都可以被id指针所指,只有在运行时才能决定是什么类型。 例如 : `NSString *string = [[NSData alloc...

2018-04-23 17:42:34

阅读数:70

评论数:0

ios Instruments之Time Profiler

文章目录 一、Time Profiler(方法执行时间) 1、简介 2、原理 3、注意事项 4、使用步骤(结合场景) 一、Time Propfiler 1、简介 Time Profiler帮助我们分析代码(方法)的执行时间,找出导致程序变...

2018-04-20 18:00:04

阅读数:69

评论数:0

ios Instruments之Allocations

文章目录 一、Allocations(监测内存分配) 1、简介 2、如何使用 一、Allocations 1、简介 性能优化中使用Instruments-Allocations工具进行内存分配使用监测。 内存爆增,且持续不释放的情况,除了是内存泄露外,还有就是对性...

2018-04-19 18:39:22

阅读数:51

评论数:0

iOS Instruments之Leaks

文章目录 一、内存泄露和内存溢出 1、内存泄露 2、内存溢出 3、内存泄露可能引发的问题 二、如何检测你的程序存在内存泄露 1、静态分析 2、动态检测 一、内存泄露和内存溢出 1、内存泄露 程序在申请内存后,无法释放...

2018-04-19 00:41:46

阅读数:36

评论数:0

iOS 视频播放(AVPlayer)

文章目录 一、AVPlayer 1、简介 2、视频播放的解决方案 二、AVPlayer中的MVC 1、v层 :AVPlayerLayer 2、m层 :AVPlayerItem 3、c层 :AVPlayer 三、实现简单的播放、暂停功能 1、播放 2、暂停 ...

2018-04-17 14:59:40

阅读数:30

评论数:0

iOS 音频录制、播放(本地、网络)

文章目录 一、录音机(AVAudioRecorder) 1、简介 2、如何使用 3、具体实现(开始、暂停、停止、播放 四个功能) 4、附件实现demo 二、播放音频 1、播放本地音频文件(AVAudioPlayer) 2、播放网络音频...

2018-04-16 14:16:11

阅读数:43

评论数:0

iOS AVAudioPlayer使用

文章目录 一、AVAudioPlayer 1、简介 2、优缺点 3、如何使用 4、扩展功能 (1) 如何做后台播放 (2) 如何做输出改变监听(拔出耳机音乐暂停播放) (3) 歌词轮播实现思路 (4) 关于NSTimer(循环引用、NSRunLoopMode) 一、AV...

2018-04-10 11:08:56

阅读数:36

评论数:0

二分法查找θ(logn)

文章目录 一、递归查找 二、非递归查找 一、递归查找 int binarySearch1(int a[] , int low , int high , int findNum) { int mid = ( low + high ) / 2; ...

2018-04-05 15:00:56

阅读数:21

评论数:0

Java join()方法的使用

文章目录 一、join()方法的作用 二、join()和start()调用顺序问题 三、join()方法实现原理一、join()方法的作用主要作用是同步,它可以使得线程之间的并行执行变为串行执行。在A线程中调用了B线程的join()方法时,表示只有当B线程执行完毕时,A线程才能继续执行。 ...

2018-04-04 16:06:18

阅读数:86

评论数:0

Java JDK1.5后生产消费者模式解决方案

文章目录 一、思考 nofifyAll()方法是否存在效率问题? 二、新特性 1、概述 2、总结 三、新特性的应用 1、Lock 2、Condition 四、优化代码示例 1、代码 2、注意点 一、思考 在...

2018-03-29 17:05:14

阅读数:30

评论数:0

iOS SDWebImage加载url图片不显示

文章目录 1、问题描述 2、问题的原因 3、如何解决问题 一、问题描述 使用SDwebImage去加载含有逗号的url 时候会无法加载,但是在浏览器上显示正常。 例如 : http://img2.imgtn.bdimg.com/it/u=3509004173,...

2018-03-26 17:42:22

阅读数:753

评论数:0

Java 生产--消费者模式初探

生产者消费模式 : 顾名思义有生产者、消费者、资源 三个对象。生产者生产资源,消费者消费资源。 类似于工厂流水线,多条生产线(生产者),多条包装线(消费线)。 前面有介绍线程的 等待唤醒机制 我们可以回顾下,一条输入线程(生产者),一条输出线程(消费者),不同线程对同一资源进行操作,只不过操作...

2018-03-25 14:25:03

阅读数:22

评论数:0

iOS 音效播放

在ios中,音频播放从形式上可以划分成两种 : 音效播放 和 音乐播放。音效播放通常指一些点缀性质音频,对于这类音频不需要进行进度、循环等控制。在ios中我们用 AudioToolbox 来完成音效播放。 1、使用场景 ( 1 ) 接受推送的提示音 ( 2 ) 二维码扫描成功的提示音(类...

2018-03-01 15:49:50

阅读数:48

评论数:0

Java 线程间通信-等待唤醒机制

在上一篇博客Java 线程通信的安全问题(同步) 遗留一个问题,当输入线程(Input)操作资源(res)完成后,失去执行权,输出线程(outPut)在一些短时间内刻获取cpu执行权,就会疯狂打印这结果。那么,我们如何解决这个问题呢?分析: 我们期望的结果是,当输入线程一次(Input)操作资源(...

2018-01-13 21:51:34

阅读数:74

评论数:0

Java 线程通信的安全问题(同步)

线程间的通信 : 其实就是多个线程操作同一资源,但是操作的动作不同。注意: 1、多个线程 2、同一资源 3、操作动作不同例如一个场景: 输入线程(Input) 和 输出线程(outPut) ,输入线程负责操作资源(Resource),Resource 有 name(String) 和 s...

2018-01-07 17:33:10

阅读数:67

评论数:0

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