5 远方的枫叶

尚未进行身份认证

暂无相关描述

等级
博文 88
排名 5w+

hitTest:withEvent:方法流程

此方法可实现点击穿透、点击下层视图功能。一.hitTest:withEvent:调用过程iOS系统检测到手指触摸(Touch)操作时会将其放入当前活动Application的事件队列,UIApplication会从事件队列中取出触摸事件并传递给keywindow(当前接收用户事件的窗口)处理,window对象首先会使用hitTest:withEvent:方法寻找此次Touch操作初始点所在的

2017-06-06 20:48:50

C++ 虚函数表解析

C++虚函数表解析陈皓http://blog.csdn.net/haoel前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到

2017-04-07 11:52:08

一名iOSer对react-redux的理解

原文链接前言React认为每个组件都是一个个有限状态机,状态与UI是一一对应的。我们只需管理好APP的state就能控制UI的显示,我们可以在每个component类中来通过this.state和this.setState来管理组件的state,但是如果APP交互比较多比较复杂,或者说该组件的某一状态需要和其他组件共享的话,这种方式就有点复杂了。有没有一种能统一管理APP状态的框架呢

2017-02-26 11:43:05

iOS 深拷贝和浅拷贝

浅拷贝只是增加了一个对被引用对象的一个指向,拷贝出的对象与原对象共用一块内存区域。retain:指针拷贝,只是retainCount加一,实际上还是共用一块内存copy:不论拷贝的是不是集合对象,只要被拷贝的对象是不可变的,那就是指针拷贝,是浅拷贝,仅仅retainCount加一深拷贝会分配出一块内存,然后将引用的内容拷贝进去,也就是说拷贝出来的对象与原对象是独立的。copy

2017-02-26 11:40:49

iOS中assign与weak,retain与strong的区别

以前在没有ARC的时候我们使用assign与retain来修饰属性,后来引入了更安全的weak和strong来修饰属性assign与weak两者都是弱引用,assign通常用于普通类型属性(如int,NSInteger),还有代理属性的修饰,基本上来说两者是可以通用的。只是后者比前者多了一个功能,后者会在引用的对象被释放的时候将该属性置为nil,而前者依然会指向原来的位置,这样就会变成野指针

2017-02-26 11:40:03

iOS中为什么非要用runtime才能在分类中扩展属性呢

想必大家都知道在分类中能扩展属性,而对于能不能扩展属性,能不能扩展成员变量是不是有点模糊,今天元宵节,我就清清嗓子说上两句吧论点(1)分类中是能扩展属性的(2)分类是不能给一个类扩展成员变量的先唠唠嗑强调一下,分类不是类,它只是对类的一个扩展,没有ISA指针,我们知道我们可以通过runtime在不影响原来模块的情况下给模块扩展方法,有没有感觉这一句话好像也可以描述分类,所以你可以认为分类是实现这

2017-02-26 11:38:10

Objective-C 消息转发机制

一图胜千言,习惯性的先来一张图以便对消息转发有个整体的把握运行时系统库方法查询流程图对于对象无法处理的消息,如果不做转发处理的话,程序最终会调用NSObjective的doesNotRecognizeSelector:消息将程序crash掉。Objective-C提供了两种消息转发选项快速转发:NSObject类的子类A可以通过重写NSObject类的forwardingTargetFor

2017-02-26 11:34:21

reactjs性能优化之shouldComponentUpdate

性能优化每当开发者选择将React用在真实项目中时都会先问一个问题:使用react是否会让项目速度更快,更灵活,更容易维护。此外每次状态数据发生改变时都会进行重新渲染界面的处理做法会不会造成性能瓶颈?而在react内部则是通过使用一些精妙的技巧来最小化每次造成ui更新的昂贵的dom操作从而保证性能的。避免直接作用于DOMreact实现了一层虚拟dom,它用来映射浏览器的原生

2016-10-31 14:45:30

NSURLSession

一、URLSession的基本概念1.三种工作模式:默认会话模式(default):工作模式类似于原来的NSURLConnection,使用的是基于磁盘缓存的持久化策略,使用用户keychain中保存的证书进行认证授权。瞬时会话模式(ephemeral):该模式不使用磁盘保存任何数据。所有和会话相关的caches,证书,cookies等都被保存在RAM中,因此当程序使会话

2016-07-30 21:18:56

三方库

文章转自:http://blog.csdn.net/xiaoyuertongxue/article/details/46982879图像: 1.图片浏览控件MWPhotoBrowser实现了一个照片浏览器类似iOS自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。 下载:https://github.com/mwate

2016-05-10 10:34:51

UIImagePickerController以中文显示界面

分两步:1.添加中文语言包  Project-->Info-->Localizations添加Chinese2.设置区域,将原来的en改长ChinaTarget-->Info-->Localizationnativedevelopmentregion:China

2016-04-13 18:56:44

mac/linux中vim永久显示行号、开启语法高亮

步骤1:  cp/usr/share/vim/vimrc~/.vimrc 先复制一份vim配置模板到个人目录下 注:redhat改成cp/etc/vimrc~/.vimrc步骤2:  vi~/.vimrc 进入insert模式,在最后加二行 syntaxon setnu!保存收工。 最后附上其它选项(从网上淘来的)set

2016-04-12 12:52:53

iOS7光标问题

iOS7光标问题PS:有网友遇到textView在ios7上出现编辑进入最后一行时光标消失,看不到最后一行,变成盲打,stackOverFlow网站上有大神指出,是ios7本身bug,加上下面一段代码即可(网友调试得出,在此mark一下,有问题,欢迎大神们指出)-(void)textViewDidChange:(UITextView*)textView{CGRectline=[

2016-03-10 17:26:49

NaN

NaN的全评是notanumber。*NaN用于表示计算中出现的错误情况,一般一个数值型变量出现这种情况是由于运算不当造成的,比如0/0,负数的开平方根等。

2016-03-07 16:37:28

MAC下用homebrew安装及配置apache、php和mysql

原链接地址:http://lonewolf.name/blog/2015/03/22/homebrew-apache-php-mysql/ 原创博客,转载请注明。我们用到php运行环境的时候总喜欢用集成包,其实在mac下,用homebrew也可以很快的安装这些东西,配置也很简单。homebrewhomebrew是mac下的一个包安装管理工具,使用非常简单方便。

2016-03-03 14:17:23

Mac下MySQL卸载方法

原文:http://www.cnblogs.com/TsengYuen/archive/2011/12/06/2278574.htmlmac下mysql的DMG格式安装内有安装文件,却没有卸载文件……很郁闷的事。网上搜了一下,发现给的方法原来得手动去删。很多文章记述要删的文件不完整,后来在stackoverflow这里发现了一个遗漏的地方,所以将完整版记述在这里,以供查阅。先停止所有my

2016-03-03 12:42:28

UIButton的imageEdgeInsets和titleEdgeInsets

UIButton上有两个控件,UIImageView和UILabel,用来显示图片(不是背景图片)和文字。为了方便,我用image.width,代表image的宽度label.width代表label的宽度默认情况下,image在label的左边,他俩居中显示在button的中间,这个可以通过button的contentHorizontalAlignment属性来改变他俩的居中方式当butto

2016-02-26 17:26:04

Git忽略规则及.gitignore规则不生效的解决办法

在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中.gitignore文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:?1234567#此为注释–将被Git忽略 *.a      #

2016-02-22 10:42:56

对cell重新布局

如果想对cell只是想重新布局,可以重写cell的layoutSubviews方法,如果想重新绘制cell的话可以重写drawRect方法,下面是我对系统cell上控件的重新布局://对系统cell上空间重新布局-(void)layoutSubviews{[superlayoutSubviews];[self.imageViewsetFrame:CGRectMake(

2016-02-17 12:07:46

多人开发 Git 分支管理详解

大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机CentOS5.5x86_64,Git服务器版本:gitversion1.8.2.1,客户端版本:gitv

2016-02-16 20:25:28
奖章
    暂无奖章