- 博客(21)
- 资源 (47)
- 收藏
- 关注
转载 Java之23种设计模式
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模...
2017-07-31 16:49:57 567
转载 iOS应用架构谈 view层的组织和调用方案
本文转自 :https://casatwy.com/iosying-yong-jia-gou-tan-viewceng-de-zu-zhi-he-diao-yong-fang-an.htmliOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方案 iOS应用架构谈 本地持久化方案及动态部署 iOS应用架构谈 组件化方案
2017-07-31 11:31:59 625
转载 iOS之方法变换(Method Swizzling)
C语言是静态语言,它的工作方式是通过函数调用,这样在编译时我们就已经确定程序如何运行的。而Objective-C是动态语言,它并非通过调用类的方法来执行功能,而是给对象发送消息,对象在接收到消息之后会去找匹配的方法来运行。这种做法就把c语言在编译时的工作挪到了运行时来做,可以获得额外的灵活性。 在objective-c中有个@selector,在很多地方被翻译成“选择子”。实际上,对
2017-07-26 17:21:43 4049
原创 iOS之来电阻止与身份识别实现
为了屏蔽各种中介的电话骚扰,最近安装了腾讯手机管家。在设置“骚扰拦截”功能时,提示需要点击“设置--->电话--->来电阻止与身份识别--->勾选第三方电话拦截软件提供的“电话识别”和“电话拦截”。 为了屏蔽各种中介的电话骚扰,最近安装了腾讯手机管家,安装完成后,设置“骚扰拦截”功能时,App提示需要点击“设置--->电话--->来电阻止与身份识别--->勾选App提供的"黄页"、“电话识别”和“电话拦截”。了解过苹果沙盒机制的朋友都知道,一般在App中要访问到其他 App/硬件(地理位置,
2017-07-26 11:41:49 12670
转载 iOS定义静态变量、静态常量、全局变量
静态变量当我们希望一个变量的作用域不仅仅是作用域某个类的某个对象,而是作用域整个类的时候,这时候就可以使用静态变量。staticstatic修饰的变量,是一个私有的全局变量。C或者Java中static关键字修饰的变量,可以使用类名直接拿到这个变量对象,在其他类中可以进行修改。但是在OC中static修饰的变量是不能通过类名直接访问的,它只作用于它声明所在的.m文件中。stat
2017-07-19 11:07:05 3765
原创 Mac之Terminal常用快捷键及命令
分屏:Cmd + D取消分屏:Cmd + Shift + D清除屏幕:输入clear 或者 Ctrl + L打开文件:vim 文件名编辑文件:输入i删除行:dd 或者Ctrl + U保存:按Esc键,输入大写ZZ
2017-07-18 15:44:58 997
转载 Java三目运算符boolean?condition1:condition2的使用及类型转换
三目运算符?:; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果. 以上是三目运算符的基本定义与使用。表面上看来,应该是比较简单。在《Java程序员面试宝典》这本书里,我们见到了了两道比较有意思的题目。题目1:【中国东北著名软件公司D2009年3月笔试题】
2017-07-17 18:01:52 2476
原创 iOS之ReactiveCocoa入门教程
初始工程:请点击这里ps:原文的初始工程已无法下载。原文转自:http://www.cnblogs.com/tmacforever/p/4878180.html作为一个iOS开发者,你写的每一行代码几乎都是在响应某个事件,例如按钮的点击,收到网络消息,属性的变化(通过KVO)或者用户位置的变化(通过CoreLocation)。但是这些事件都用不同的方式来
2017-07-17 11:21:02 979
原创 iOS之UITableView和NSTableView的区别
从事iPhone的朋友一定用过UITableView,但未必熟悉NSTableView。 有人不禁问:UITableView 和 NSTableView 有什么区别呢?1、NSTableView相对于前者,多了一个Column的概念,比较适合表单制作。我们先来看一下效果图:2、最重要的区别:两者分属不同应用平台,UITableView属于UIKit,
2017-07-14 11:02:36 766
原创 什么是胖Model和瘦Model?
胖Model (Fat Model):在Model 中对数据根据需要进行处理,让Controller可以直接使用经过处理后的数据。瘦Model(Thin Model):Model中的数据不进行任何处理或修改,原封不动的把服务器返回内容发送给Controller。举例:后台服务器返回时间格式:yyyy-mm-dd hh:mm:ss,但客户端只需要显示yyyy-mm-dd,在胖Mode
2017-07-12 17:29:53 2055
原创 微信支付/支付宝指纹支付原理
随着各大厂商手机相继加入了指纹解锁功能,指纹支付因为免除了密码输入,简单快捷的特点,迅速受到了广大用户的青睐。今天我们简单来探究一下指纹支付的原理。 首先,我们先看看微信的指纹支付设置页面:点击钱包----右上角------支付管理 再来看看支付宝的设置页面: 从以上流程,可以大概推断指...
2017-07-12 16:50:35 14489 1
转载 iOS之KVC、KVO、Delegate、NSNotification区别
总结:1、KVC方式可以更便捷的设置获取对象的值(可以批处理,键路径);KVO可以对对象进行监听属性的变化。2、NSNotification、KVC、KVO都是运用了设计模式中的观察者模式(监听模式), delegate是设计模式中的委托模式。3、使用任何一种模式都没有对和错,只有更适合或者不适合。4、根据经验,1)如果是属性层的事件,不管是在不需要编程的对象还是在紧紧绑定一个
2017-07-11 12:16:35 592
原创 iOS之KVO使用
KVO(key value obeserveing),是iOS中一种非常重要的机制,用于监听对象属性的变化。特别适用于view变化引起的数据源更新,而且用法非常简单:// 建立监听- (void)addObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath options:(NSKeyValueObserving
2017-07-10 17:59:42 1049
转载 iOS之MVVM架构
什么是MVVMMVVM就是在MVC的基础上分离出业务处理的逻辑到viewModel层,即:model层,API请求的原始数据view层,视图展示,由viewController来控制viewModel层,负责业务处理和数据转化,简单来说,就是API请求完数据,解析成model,之后在viewModel中转化成能够直接被视图层使用的数据,交付给展示页面。...
2017-07-07 11:21:49 712
原创 iOS之estimatedHeightForRowAtIndexPath
为了提高性能,UITableView在iOS7后引入了估算高度,源码是这样解释的:// Use the estimatedHeight methods to quickly calcuate guessed values which will allow for fast load times of the table.// If these methods are imple
2017-07-05 16:57:04 4865
转载 DNS劫持是什么意思?DNS劫持是干什么用的?
DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假网址。DNS劫持原理我们以用户访问淘宝网:www.taobao.com为例进行解释,正常情况下:用户在浏览器中输入www.taobao.com的域名,然后计算机向DNS服务器发出请求,询问
2017-07-05 11:10:29 3038
原创 Https和网络抓包工具的一些疑问
对于wireshak、charles等主流网络抓包工具软件,有人会有这样的疑问:尽管使用https访问网站,但是我在电脑安装了charles的证书并设置手机以后,就可以使用charles抓包同一局域网的iOS设备,也可以抓到手机上post请求,甚至抓包报文可以看到用户名密码明文。不是说https是安全的吗???1、Https(SSL)加密是发生在应用层与传输层之间,所以在传输层看到的数
2017-07-05 10:46:50 1758
原创 iOS之一则形象说明,完美诠释内存管理机制
经历过MRC编程的同学,相信对iOS的内存管理机制都曾经头疼不已,MRC主要采用的引用计数的方式管理内存,学习MRC,最为关键的是如何理解引用计数器。引用计数(Reference Count)在引用计数中,每一个对象负责维护对象所有引用的计数值。当一个新的引用指向对象时,引用计数器就递增,当去掉一个引用时,引用计数就递减。当引用计数到零时,该对象就将释放占有的资源。为了让初
2017-07-04 22:12:41 393
转载 iOS之自定义UITableViewCell事件响应
在定制的UITableViewCell中,如果需要对cell中的控件添加事件响应,就要想办法把cell的indexPath传递给响应函数。下面是一个相对方便且耦合度低的方法。UICollectionView同样适用。方法1:假设定制的cell类名为MyUITableViewCell,上面添加了一个按钮myButton,需要在点击MyButton的响应函数中获取cell的indexPat
2017-07-04 10:12:52 1181
原创 Android EventBus使用注意事项
在使用EventBus过程中,遇到一个bug:在页面输入金额10元,等待支付时点击取消,跳转回到页面重新输入金额20元,输入支付密码交易成功,在成功结果看到的交易金额居然是10元。在排除静态变量、系统缓存外,逐步把问题焦点指向了EventBus,经过一顿排查,终于锁定了问题所在。原来在取消逻辑分支中,没有解注册EventBus,真的是马虎啊!EventBus虽然简单易用,但在使
2017-07-03 16:24:23 1848
转载 iOS多线程中performSelector: 和dispatch_time的不同
iOS中timer相关的延时调用,常见的有NSObject中的performSelector:withObject:afterDelay:这个方法在调用的时候会设置当前runloop中timer,还有一种延时,直接使用NSTimer来配置任务。这两种方式都一个共同的前提,就是当前线程里面需要有一个运行的runloop并且这个runloop里面有一个timer。我们知道:只有
2017-07-03 11:08:45 364
Android利用C++实现RSA-DES-AES-BASE64-MD5
2018-11-05
预付卡共享模式与风险分析
2018-02-07
仿iOS带3D效果的滚轮
2017-12-08
iOS高仿微信源码
2017-06-21
代码注释导致sourcetree无法识别
2016-11-22
Android之通过AIDL机制实现进程间的通讯实例
2016-10-08
GSON封装各种类型JSON数据
2016-09-08
iOS之RSA加密并实现解密
2015-04-28
磁盘格式NTFS互转FAT32工具绿色免费版
2013-09-08
Android反编译工具
2013-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人