`
文章列表
1, 使用NSNotification监控变化: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldDidChanged:) name:UITextFieldTextDidChangeNotification ...
作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/20067595    学会使用别人的Pods依赖库以后,你一定对创建自己的依赖库跃跃欲试,今天就来揭开Pods依赖库创建过程的神秘面纱。整个创建过程都以我实现的一个名称为WZMarqueeView跑马灯效果的view为例,步骤如下: 一、创建自己的github仓库 CocoaPods都托管在github上(官方链接为:https://github.com/CocoaPods),所有的Pods依赖库也都依赖github,因此第一步我们需要创建一个属于自己的 ...
将博客搬至CSDN
原文地址:http://www.tanhao.me/pieces/362.html/   Dispatch Queue挂起 dispatch queue可以被挂起和恢复。使用 dispatch_suspend函数来挂起,使用 dispatch_resume 函数来恢复。这两个函数的行为是如你所愿的。另外,这两个还是也可以用于dispatch source。一个要注意的地方是,dispatch queue的挂起是block粒度的。换句话说,挂起一个queue并不会将当前正在执行的block挂起。它会允许当前执行的block执行完毕,然后后续的block不再会被执行,直至queue被恢复。 ...
原文地址:http://www.tanhao.me/pieces/360.html/   何为Dispatch Sources 简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。说的貌似有点不清不楚。我们到底讨论哪些事件类型? 下面是GCD 10.6.0版本支持的事件:Mach port send right state changes.Mach port receive right state changes.External process state change.Fil ...
原文地址:http://www.tanhao.me/pieces/358.html/   概念 为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层,GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用,就会被dispatch到工作线程中。提交至用户队列的Block最终也会通过全局队列进入相同的工作线程池(除非你的用户队列的目标是主线程,但是为了提高运行速度,我们绝不会这么干)。 有两种途径来通过GCD“榨取”多核心系统的性能:将单一任务或者一组相关任务并发至全局队列中运算;将多个不 ...
原文地址:http://www.tanhao.me/pieces/356.html/   什么是GCD? Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。 除了代码的平行执行能力,GCD还提供高度集成的事件控制系统。可以设置句柄来响应文件描述符、mach ports(Mach port 用于 OS ...
原文地址: http://www.tanhao.me/pieces/643.html/   在上一文中,我们已经讨论过用Objective-C锁几种实现(跳转地址),也用代码实际的演示了如何通过构建一个互斥锁来实现多线程的资源共享及线程安全,今天我们继续讨论锁的一些高 ...
原文地址:http://www.tanhao.me/pieces/616.html/   为什么需要使用锁,当然熟悉多线程的你,自然不会对它觉得陌生。 那你在代码中是否很好的使用了锁的机制呢?你又知道几种实现锁的方法呢?   今天一起来探讨一下Objective-C中几种不同方式实现的锁,在这之前我们先构建一个测试用的类,假想它是我们的一个共享资源,method1与method2是互斥的,代码如下: @implementation TestObj - (void)method1 { NSLog(@"%@",NSStringFromSelecto ...
    忽略跟踪: $ git update-index --assume-unchanged /path/to/file         恢复跟踪: $ git update-index --no-assume-unchanged /path/to/file        查看已忽略的文件列表:     You can use git ls-files -v. If the character printed is lower-case, the file is marked assume-unchanged. git ls-files -v | grep '^[[:lowe ...
详情见: http://www.cnblogs.com/scorpiozj/archive/2011/01/25/1944496.html   1. 系统的非容器类对象      对于系统的非容器类对象,我们可以认为,如果对一不可变对象复制,copy是指针复制(浅拷贝)和mutableCopy就是对象复制(深拷贝)。如果是对可变对象复制,都是深拷贝,但是copy返回的对象是不可变的。   2. 
原文地址:http://my.oschina.net/huanger/blog/373632 @ResponseBody的处理 RequestMappingHandlerAdapter对handler进行调用,ServletInvocableHandlerMethod执行实际的调用.调用之后会使用HandlerMethodReturnValueHandlerComposite对返回值进行处理. HandlerMethodReturnValueHandlerComposite中其实包含了一个HandlerMethodReturnValueHandler的列表,遍历列表找出支持 ...
原文地址:基于Spring可扩展Schema提供自定义配置支持(spring配置文件中 配置标签支持)   在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的时候,会显得非常笨拙。一般的做法会用原生态的方式去解析定义好的xml文件,然后转化为配置对象,这种方式当然可以解决所有问题,但实现起来比较繁琐,特别是是在配置非常复杂的时候,解析工作是一个不得不考虑的负担。Spring提供了可扩展Schema的支持,这是一个不错的折中方案,完成一个自定义配置一般需要以下步骤: 设计配置属性和JavaBean 编 ...
<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version> </dependency> http://blog.csdn.net/wangpeng047/article/details/17610451 http://blog.csdn.net/wangpeng047/article/details/19624993 ...
https://developer.apple.com/library/ios/navigation/   Core Animation Guide: https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004514    Core Image Guide: https://developer.apple.com/library/ios/doc ...
Global site tag (gtag.js) - Google Analytics