关闭
当前搜索:

[置顶] ios hitTest

文章目录 一、什么是hitTest 二、hitTest的调用顺序 三、事件的传递顺序 四、hitTest的实现思路 五、hitTest的运用场景 1、事件穿透 2、子视图超出父视图范围 一、什么是hitTest- (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)eventpoint : 在接收器的局部坐...
阅读(84) 评论(0)

[置顶] ios runtime 之消息发送机制三次拯救机会

文章目录 一、消息发送概述 二、runtime 三次 拯救机会 1、Method resolution 2、Fast fowarding 3、Normal forwarding 一、消息概述在编码过程中,我们经常会遇到类似 unrecognized selector 程序 crash的异常。可以总结到如下两种场景:1、方法只是声明了,对象直接调用 2、对象 使用 - (id)performSele...
阅读(94) 评论(0)

[置顶] ios Notification实现原理

目录 一、通知的基本使用 1、基本概念 2、什么情况下使用通知 3、如何使用通知 4、使用通知需要注意哪些细节 二、通知的实现原理 1、概述 2、实现一、通知的基本使用1、基本概念 NSNotification 是iOS中一个调度消息通知的类,采用单例模式设计,在程序中实现传值、回调等地方应用很广。在iOS中,NSNotifi...
阅读(342) 评论(0)

[置顶] ios KVO的使用和原理实现

文章目录 一、KVC(键值编码) 1、概念 2、简单使用 1> 注册观察者,添加观察对象属性 2> 实现回调方法 3> 移除观察者 4> 测试触发kvo 3、注意细节 二、KVO(键值监听) 1、概念 2、如何使用 3、使用注意细节 三、KVO实现原理...
阅读(159) 评论(0)

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

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

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

线程间的通信 : 其实就是多个线程操作同一资源,但是操作的动作不同。注意: 1、多个线程 2、同一资源 3、操作动作不同例如一个场景: 输入线程(Input) 和 输出线程(outPut) ,输入线程负责操作资源(Resource),Resource 有 name(String) 和 sex(String)两个变量,输入线程(Input) 负责为 Resource 的成员赋值,输出线程...
阅读(18) 评论(0)

ios 2018年CocoaPods安装教程

一、安装 CocoaPods1、查看当前ruby源gem sources -l2、移除ruby源gem sources --remove https://rubygems.org/3、添加新的ruby源gem sources -a http://gems.ruby-china.org/4、安装cocoapodssudo gem install cocoapods出现如下错误:ERROR: Whil...
阅读(190) 评论(0)

Java 从线程返回数据

从线程中返回数据的两种方法 1、通过类变量和类方法返回数据 2、通过回调函数返回数据...
阅读(53) 评论(0)

Java 向线程传递数据

向线程传递数据的三种方法:1、通过构造函数传递数据2、通过变量和方法传递数据3、通过回调函数传递数据在传统开发模式中,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果。但是在多线程的异步开发模式下,数据的传递和返回与同步开发模式有很大的区别。由于线程的运行和结束时不可预料的,所以在传递和返回数据时就无法像函数一样通过函数参数和return 语句来返回数据...
阅读(48) 评论(0)

Java 死锁

当一个线程永远地持有一个锁,并且其他线程都尝试去获得这个锁时,那么它们将永远被阻塞,这个我们都知道。如果线程A持有锁L并且想获得锁M,线程B持有锁M并且想获得锁L,那么这两个线程将永远等待下去,这种情况就是最简单的死锁形式。在数据库系统的设计中考虑了监测死锁以及从死锁中恢复,数据库如果监测到了一组事务发生了死锁时,将选择一个牺牲者并放弃这个事务。Java虚拟机解决死锁问题方面并没有数据库这么强大,当...
阅读(43) 评论(0)

Java synchronized关键字

先看一个场景: 两个储户分别同时往银行存300元,每次存100,分三次存。代码如下 ://银行 public class Bank { private int sum = 0; public void add(int n ) { sum += n; System.out.println(sum); }} //用户 public class...
阅读(54) 评论(0)

ios TouchId

IPhone 指纹识别 是在IPhone 5s 设备出现的新功能,用于数据加密和安全。用户开启设备可通过输入密码或者验证指纹的方式解锁手机,以达到个人隐私得到安全保护的手段。在ios8.0 后开发了功能实现的API,我们可以运用这个功能在第三方app进行验证登录,提高用户体验。废话不多说,直接进入正题。假设你要在第三方APP 做指纹验证登录,那么你或怎么做? 我想应该是类似第三方登录(微信、QQ、微...
阅读(111) 评论(0)

基础算法 之交换两个数的值

面试中经常碰到这样的面试题目,写个函数,交换两个数的值。可能会有限制条件,例如: 不允许使用中间变量,不允许使用 > 或 < 等。这边算是总结吧。给定 a,b 值,交换a和b的值方案一:- (void)swap:(int x, int y) { int temp = x; x = y; y = temp;}方案二:- (void)swap:(int x,int y) { x...
阅读(79) 评论(0)

Java 线程的初识

文章目录 一、进程与线程 1、什么是进程 2、什么是线程 3、线程和进程之间的关系 4、进程和线程内存方法的知识 5、线程的分类 二、线程的创建 1、使用Thread 类创建线程 2、使用Runnalbel 接口创建线程 三、线程的基本属性 1、线程栈 2、线程名 3、获取当前线程...
阅读(77) 评论(0)

基础算法之 冒泡排序

冒泡排序 : 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。如下图 : 示意代码: int [] arr = {45,34,90,31,10}; // 最后一次元素比较没有相邻,所以减1 for(int x= 0; x < arr.length-...
阅读(68) 评论(0)

基础算法之 选择排序

概念 :每一趟从待排序的数据元素中选出最 ( 大/小 ) 值的一个元素,顺序放在已排好序的数列的最后或最前,直到全部待排序的数据元素排完。 如下图下面演示java示意代码: 方案一 :int [] arrays = {4,13,56,42,78,0};for(int i = 0; i< arrays.length-1;i++) { for(int j = i+1; j< arrays.lengt...
阅读(94) 评论(0)

ios 数据持久化之 归档

文章目录 一、概念 1、归档 2、解档 二、归档使用 1、遵守NSCoding协议 2、协议方法的实现 三、归档使用的进一步思考 当对象成员变量非常多,NSCoding 两个协议方法 将会变得非常冗长,有什么办法可以解决 ?一、概念1、归档 归档是一种很常用的文件储存方法,几乎任何类型的对象都能够被归档储存。即数据的存储过程。2、解档 归档成为数据的存储过程,反之,...
阅读(95) 评论(0)

ios 沙盒机制

文章目录 一、沙盒目录 1、简介 2、沙盒目录明细 3、目录文件下的特点 二、沙盒机制的特点 1、每个应用程序都有自己的存储空间 2、每个应用程序都不可以翻过自己的围墙去访问别的存储空间的内容 3、在访问别人沙盒内的数据时需要访问权限 三、如何获取目录路径 为了安全起见,iOS应用程序与文件系统的交互仅限于应用程序沙箱目录中的目录(也有例外,比如系统通讯...
阅读(116) 评论(0)

Java 异常总结

一、什么是异常1、异常是对问题的描述,将问题进行对象封装二、异常体系 Throable | –Error | – Exception |–RuntimeException三、异常体系的特点异常体系中的所有类及建立的对象都具备可抛性 也就是说可以被 throw 和 throws 关键字所操作 只有异常体系具备这个特点三、throw 和 thr...
阅读(249) 评论(0)

Java 方法被覆盖时异常特点

异常在子父类覆盖(方法重写)中的体现1、子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常 或 其子类异常2、如果父类方法 抛出 多个异常,那么子类在覆盖 该方法时,只能抛出 父类 异常的子集3、如果父类 或者 接口 方法 中没有抛出异常,那么 其子类在覆盖 方法 时,也不可以抛出异常,如果子类方法发生了异常,就必须自己进行try-catch处理,绝对不能抛。...
阅读(91) 评论(0)

Java checked 异常 和 RuntimeException(运行时异常)

目录 一、运行时异常 1、什么是RuntimeExceptioin 2、运行时异常的特点 3、如何运用运行时异常 二、运行时异常和ckecked异常的区别 1、机制上 2、逻辑上 一、运行时异常1、什么是运行时异常程序在运行过程中出现的异常,RumtimeException 是 Exception 的一个子类 我们可以查看Jav...
阅读(392) 评论(0)
141条 共8页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:145825次
    • 积分:2475
    • 等级:
    • 排名:第17180名
    • 原创:136篇
    • 转载:5篇
    • 译文:0篇
    • 评论:15条
    最新评论