摘要:
GCD提供两种方式支持dispatch队列同步,即dispatch组和信号量。一、dispatch组(dispatch group)1. 创建dispatch组dispatch_group_t group = dispatch_group_create();2. 启动dispatch队列中的bloc... 阅读全文
随笔档案-2014年02月
iOS多线程的初步研究(十)-- dispatch同步
2014-02-28 15:26 by 三戒1993, 137 阅读, 收藏, 编辑
摘要:
GCD提供两种方式支持dispatch队列同步,即dispatch组和信号量。一、dispatch组(dispatch group)1. 创建dispatch组dispatch_group_t group = dispatch_group_create();2. 启动dispatch队列中的bloc... 阅读全文
iOS 几种定时器
2014-02-28 14:59 by 三戒1993, 140 阅读, 收藏, 编辑
摘要:
//第一种 每一秒执行一次(重复性) double delayInSeconds = 1.0; timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_global_queue(D... 阅读全文
iOS 如何计算UIWebView的ContentSize
2014-02-27 17:33 by 三戒1993, 267 阅读, 收藏, 编辑
摘要:
首选要等UIWebView加载内容后,然后在它的回调方法里将webview的高度Height设置足够小,就设置为1吧,因为这样才能用sizeThatFits才能计算出webview得内容大小- (void)webViewDidFinishLoad:(UIWebView *)aWebView { ... 阅读全文
iOS 如何计算UIWebView的ContentSize
2014-02-27 17:33 by 三戒1993, 83 阅读, 收藏, 编辑
摘要:
首选要等UIWebView加载内容后,然后在它的回调方法里将webview的高度Height设置足够小,就设置为1吧,因为这样才能用sizeThatFits才能计算出webview得内容大小- (void)webViewDidFinishLoad:(UIWebView *)aWebView { ... 阅读全文
iOS: NSTimer使用小记
2014-02-27 15:34 by 三戒1993, 151 阅读, 收藏, 编辑
摘要:
目录1. NSRunLoopCommonModes和Timer2. NSThread和Timer3. GCD中的Timer返回目录1. NSRunLoopCommonModes和Timer 当使用NSTimer的scheduledTimerWithTimeInterval方法时。事实上此时Timer... 阅读全文
iOS: NSTimer使用小记
2014-02-27 15:34 by 三戒1993, 168 阅读, 收藏, 编辑
摘要:
目录1. NSRunLoopCommonModes和Timer2. NSThread和Timer3. GCD中的Timer返回目录1. NSRunLoopCommonModes和Timer 当使用NSTimer的scheduledTimerWithTimeInterval方法时。事实上此时Timer... 阅读全文
使用Objective-C的+(void)initialize初始化static变量
2014-02-27 13:39 by 三戒1993, 95 阅读, 收藏, 编辑
摘要:
在《Objective C类方法load和initialize的区别》一文中,我介绍了Objective-C对待+(void)initialize和+(void)load两个方法在编译和执行时出现的不同。而这些不同也是在使用时应该非常注意的地方。不过文章里面我没有讲这两个方法在Objective-C... 阅读全文
使用Objective-C的+(void)initialize初始化static变量
2014-02-27 13:39 by 三戒1993, 103 阅读, 收藏, 编辑
摘要:
在《Objective C类方法load和initialize的区别》一文中,我介绍了Objective-C对待+(void)initialize和+(void)load两个方法在编译和执行时出现的不同。而这些不同也是在使用时应该非常注意的地方。不过文章里面我没有讲这两个方法在Objective-C... 阅读全文
iOS7新JavaScriptCore框架入门介绍
2014-02-27 12:36 by 三戒1993, 91 阅读, 收藏, 编辑
摘要:
前阵子,Apple正式发布了新的iOS 7系统,最大最直观的改变在于界面变得小清新范了,我也提到《iOS,你真的越来越像Android了》。不过对于移动开发者来说,除了要适应Xcode 5,最应该关注的还是iOS 7在开发接口的上的变化。概览Apple提供的官方文档《What’s New in iO... 阅读全文
iOS7新JavaScriptCore框架入门介绍
2014-02-27 12:36 by 三戒1993, 90 阅读, 收藏, 编辑
摘要:
前阵子,Apple正式发布了新的iOS 7系统,最大最直观的改变在于界面变得小清新范了,我也提到《iOS,你真的越来越像Android了》。不过对于移动开发者来说,除了要适应Xcode 5,最应该关注的还是iOS 7在开发接口的上的变化。概览Apple提供的官方文档《What’s New in iO... 阅读全文
Objective C类方法load和initialize的区别
2014-02-27 12:22 by 三戒1993, 111 阅读, 收藏, 编辑
摘要:
过去两个星期里,为了完成一个工作,接触到了NSObject中非常特别的两个类方法(Class Method)。它们的特别之处,在于iOS会在运行期提前并且自动调用这两个方法,而且很多对于类方法的规则(比如继承,类别(Category))都有不同的处理。而因为这两个方法是在程序运行一开始就被调用的方法... 阅读全文
Objective C类方法load和initialize的区别
2014-02-27 12:22 by 三戒1993, 125 阅读, 收藏, 编辑
摘要:
过去两个星期里,为了完成一个工作,接触到了NSObject中非常特别的两个类方法(Class Method)。它们的特别之处,在于iOS会在运行期提前并且自动调用这两个方法,而且很多对于类方法的规则(比如继承,类别(Category))都有不同的处理。而因为这两个方法是在程序运行一开始就被调用的方法... 阅读全文
关于performSelector调用和直接调用区别
2014-02-27 11:42 by 三戒1993, 117 阅读, 收藏, 编辑
摘要:
下面两段代码都在主线程中运行,我们在看别人代码时会发现有时会直接调用,有时会利用performSelector调用,今天看到有人在问这个问题,我便做一下总结,[delegateimageDownloader:selfdidFinishWithImage:image];[delegateperform... 阅读全文
apk签名原理及实现
2014-02-26 18:30 by 三戒1993, 139 阅读, 收藏, 编辑
摘要:
发布过Android应用的朋友们应该都知道,AndroidAPK的发布是需要签名的。签名机制在Android应用和框架中有着十分重要的作用。例如,Android系统禁止更新安装签名不一致的APK;如果应用需要使用system权限,必须保证APK签名与Framework签名一致,等等。在《APKCr... 阅读全文
apk签名原理及实现
2014-02-26 18:30 by 三戒1993, 193 阅读, 收藏, 编辑
摘要:
发布过Android应用的朋友们应该都知道,AndroidAPK的发布是需要签名的。签名机制在Android应用和框架中有着十分重要的作用。例如,Android系统禁止更新安装签名不一致的APK;如果应用需要使用system权限,必须保证APK签名与Framework签名一致,等等。在《APKCr... 阅读全文
Android Runnable 运行在那个线程
2014-02-26 17:14 by 三戒1993, 73 阅读, 收藏, 编辑
摘要:
Runnable 并不一定是新开一个线程,比如下面的调用方法就是运行在UI主线程中的:Handler mHandler=new Handler();mHandler.post(new Runnable(){ @Override public void run() { // TODO Auto-ge... 阅读全文
Android Runnable 运行在那个线程
2014-02-26 17:14 by 三戒1993, 130 阅读, 收藏, 编辑
摘要:
Runnable 并不一定是新开一个线程,比如下面的调用方法就是运行在UI主线程中的:Handler mHandler=new Handler();mHandler.post(new Runnable(){ @Override public void run() { // TODO Auto-ge... 阅读全文
Block 使用总结
2014-02-21 17:53 by 三戒1993, 112 阅读, 收藏, 编辑
摘要:
- (void)testBlockWeakObj1{ UILabel *tl = [[UILabelalloc]init];//本地局部变量 __weak UILabel *weakTL = tl;//弱引用变量 NSLog(@"%s tl %p",__FUNCTION__ , &tl); ... 阅读全文
Block 使用总结
2014-02-21 17:53 by 三戒1993, 92 阅读, 收藏, 编辑
摘要:
- (void)testBlockWeakObj1{ UILabel *tl = [[UILabelalloc]init];//本地局部变量 __weak UILabel *weakTL = tl;//弱引用变量 NSLog(@"%s tl %p",__FUNCTION__ , &tl); ... 阅读全文
block使用小结、在arc中使用block、如何防止循环引用
2014-02-20 16:38 by 三戒1993, 134 阅读, 收藏, 编辑
摘要:
引言使用block已经有一段时间了,感觉自己了解的还行,但是几天前看到CocoaChina上一个关于block的小测试主题 : 【小测试】你真的知道blocks在Objective-C中是怎么工作的吗?,发现竟然做错了几道, 才知道自己想当然的理解是错误的,所以抽时间学习了下,并且通过一些测试代码进... 阅读全文
block使用小结、在arc中使用block、如何防止循环引用
2014-02-20 16:38 by 三戒1993, 130 阅读, 收藏, 编辑
摘要:
引言使用block已经有一段时间了,感觉自己了解的还行,但是几天前看到CocoaChina上一个关于block的小测试主题 : 【小测试】你真的知道blocks在Objective-C中是怎么工作的吗?,发现竟然做错了几道, 才知道自己想当然的理解是错误的,所以抽时间学习了下,并且通过一些测试代码进... 阅读全文
Xcode Command Line Tools for Mac OS X 10.9 Mavericks
2014-02-19 12:24 by 三戒1993, 170 阅读, 收藏, 编辑
摘要:
by Daniel KehoeLast updated 28 December 2013How to install Apple Xcode Command Line Tools for Mac OS X 10.9 Mavericks.Xcode is a large suite of softwa... 阅读全文
Xcode Command Line Tools for Mac OS X 10.9 Mavericks
2014-02-19 12:24 by 三戒1993, 217 阅读, 收藏, 编辑
摘要:
by Daniel KehoeLast updated 28 December 2013How to install Apple Xcode Command Line Tools for Mac OS X 10.9 Mavericks.Xcode is a large suite of softwa... 阅读全文
关于Xcode的Other Linker Flags
2014-02-17 17:13 by 三戒1993, 122 阅读, 收藏, 编辑
摘要:
背景在ios开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现selector not recognized的错误,从而导致app闪退。接着仔细阅读库文件的说明文档,你可能会在文档中发现诸如在Other Linker Flags中加入-ObjC或者-all_lo... 阅读全文
关于Xcode的Other Linker Flags
2014-02-17 17:13 by 三戒1993, 100 阅读, 收藏, 编辑
摘要:
背景在ios开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现selector not recognized的错误,从而导致app闪退。接着仔细阅读库文件的说明文档,你可能会在文档中发现诸如在Other Linker Flags中加入-ObjC或者-all_lo... 阅读全文
xcode:关于Other Linker Flags
2014-02-17 17:08 by 三戒1993, 144 阅读, 收藏, 编辑
摘要:
原文出自:http://alloc.sinaapp.com/wp/?p=272一、关于Other Linker Flagsxcode中,在“Targets”选项下有Other Linker Flags选项,在这里可以填写xcode链接器的参数,如:-ObjC、-all_load、-force_loa... 阅读全文
xcode:关于Other Linker Flags
2014-02-17 17:08 by 三戒1993, 117 阅读, 收藏, 编辑
摘要:
原文出自:http://alloc.sinaapp.com/wp/?p=272一、关于Other Linker Flagsxcode中,在“Targets”选项下有Other Linker Flags选项,在这里可以填写xcode链接器的参数,如:-ObjC、-all_load、-force_loa... 阅读全文
建造(Builder)模式
2014-02-17 10:43 by 三戒1993, 138 阅读, 收藏, 编辑
摘要:
【1】基本概念 建造(Builder)模式是一种对象构建的设计模式,它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。【2】简单分析我们先来看一下该设计模式的UML结构图上图是Strategy 模式的结构图,让我们可以进行更方便的描... 阅读全文
建造(Builder)模式
2014-02-17 10:43 by 三戒1993, 144 阅读, 收藏, 编辑
摘要:
【1】基本概念 建造(Builder)模式是一种对象构建的设计模式,它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。【2】简单分析我们先来看一下该设计模式的UML结构图上图是Strategy 模式的结构图,让我们可以进行更方便的描... 阅读全文
Java静态类
2014-02-17 10:18 by 三戒1993, 179 阅读, 收藏, 编辑
摘要:
在Java世界里,经常被提到静态这个概念,static作为静态成员变量和成员函数的修饰符,意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见。最近一个项目里频繁用到static修饰的内部类,再读了一下《Effective Java》才明白为... 阅读全文
Android 读取<meta-data>元素的数据
2014-02-16 21:12 by 三戒1993, 102 阅读, 收藏, 编辑
摘要:
在AndroidManifest.xml中, java代码段:ActivityInfo info=this.getPackageManager() .getActivityInfo(getComponentName(), PackageManager.GET_META_DATA); String ... 阅读全文
Android 读取<meta-data>元素的数据
2014-02-16 21:12 by 三戒1993, 84 阅读, 收藏, 编辑
摘要:
在AndroidManifest.xml中, java代码段:ActivityInfo info=this.getPackageManager() .getActivityInfo(getComponentName(), PackageManager.GET_META_DATA); String ... 阅读全文
为什么寄存器比内存快?
2014-02-15 18:06 by 三戒1993, 95 阅读, 收藏, 编辑
摘要:
计算机的存储层次(memory hierarchy)之中,寄存器(register)最快,内存其次,最慢的是硬盘。同样都是晶体管存储设备,为什么寄存器比内存快呢?Mike Ash写了一篇很好的解释,非常通俗地回答了这个问题,有助于加深对硬件的理解。下面就是我的简单翻译。原因一:距离不同距离不是主要因... 阅读全文
为什么寄存器比内存快?
2014-02-15 18:06 by 三戒1993, 102 阅读, 收藏, 编辑
摘要:
计算机的存储层次(memory hierarchy)之中,寄存器(register)最快,内存其次,最慢的是硬盘。同样都是晶体管存储设备,为什么寄存器比内存快呢?Mike Ash写了一篇很好的解释,非常通俗地回答了这个问题,有助于加深对硬件的理解。下面就是我的简单翻译。原因一:距离不同距离不是主要因... 阅读全文
iOS 7 认识 TextKit
2014-02-15 12:03 by 三戒1993, 138 阅读, 收藏, 编辑
摘要:
本文由伯乐在线-和谐老约翰翻译自Max Seelemann。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。iOS7 的发布给开发者的案头带来了很多新工具。其中一个就是 TextKit(文本工具箱)。TextKit 由许多新的 UIKit 类组成,顾名思义,这些类就是用来处理文本的。在这里,我们将... 阅读全文
iOS 7 认识 TextKit
2014-02-15 12:03 by 三戒1993, 126 阅读, 收藏, 编辑
摘要:
本文由伯乐在线-和谐老约翰翻译自Max Seelemann。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。iOS7 的发布给开发者的案头带来了很多新工具。其中一个就是 TextKit(文本工具箱)。TextKit 由许多新的 UIKit 类组成,顾名思义,这些类就是用来处理文本的。在这里,我们将... 阅读全文
UIWindow的一点儿思考
2014-02-13 14:06 by 三戒1993, 91 阅读, 收藏, 编辑
摘要:
每一个IOS程序都有一个UIWindow,在我们通过模板简历工程的时候,xcode会自动帮我们生成一个window,然后让它变成keyWindow并显示出来。这一切都来的那么自然,以至于我们大部分时候都忽略了自己也是可以创建UIWindow对象。 通常在我们需要自定义UIAlertView的时... 阅读全文
UIWindow的一点儿思考
2014-02-13 14:06 by 三戒1993, 67 阅读, 收藏, 编辑
摘要:
每一个IOS程序都有一个UIWindow,在我们通过模板简历工程的时候,xcode会自动帮我们生成一个window,然后让它变成keyWindow并显示出来。这一切都来的那么自然,以至于我们大部分时候都忽略了自己也是可以创建UIWindow对象。 通常在我们需要自定义UIAlertView的时... 阅读全文
UIWindow & UIWindowLevel笔记
2014-02-13 11:24 by 三戒1993, 84 阅读, 收藏, 编辑
摘要:
一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用: 1、作为容器,包含app所要显示的所有视图 2、传递触摸消息到程序中view和其他对象 3、与UIView... 阅读全文
UIWindow & UIWindowLevel笔记
2014-02-13 11:24 by 三戒1993, 133 阅读, 收藏, 编辑
摘要:
一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用: 1、作为容器,包含app所要显示的所有视图 2、传递触摸消息到程序中view和其他对象 3、与UIView... 阅读全文
How to SSH Into Your iPhone
2014-02-12 22:37 by 三戒1993, 99 阅读, 收藏, 编辑
摘要:
First, I will explain what SSH is and why we do it. SSH (Secure Shell) allows you to exchange data between two networked devices, using a secure chann... 阅读全文
How to SSH Into Your iPhone
2014-02-12 22:37 by 三戒1993, 133 阅读, 收藏, 编辑
摘要:
First, I will explain what SSH is and why we do it. SSH (Secure Shell) allows you to exchange data between two networked devices, using a secure chann... 阅读全文
Core Text 入门
2014-02-12 13:41 by 三戒1993, 119 阅读, 收藏, 编辑
摘要:
本文所涉及的代码你可以在这里下载到https://github.com/kejinlu/CTTest,包含两个项目,一个Mac的NSTextView的测试项目,一个iOS的Core Text的测试项目,转载自:http://geeklu.com/2013/03/core-text/NSTextVie... 阅读全文
Core Text 入门
2014-02-12 13:41 by 三戒1993, 131 阅读, 收藏, 编辑
摘要:
本文所涉及的代码你可以在这里下载到https://github.com/kejinlu/CTTest,包含两个项目,一个Mac的NSTextView的测试项目,一个iOS的Core Text的测试项目,转载自:http://geeklu.com/2013/03/core-text/NSTextVie... 阅读全文
《人月神话》
2014-02-07 18:31 by 三戒1993, 136 阅读, 收藏, 编辑
摘要:
作为软件工程的经典著作,《人月神话》的主要贡献是对软件开发过程的几个重要关键点,提出了独到的见解。 这几个关键内容就是: (1)提倡外科手术式的团队组织: [在软件开发组织上的过份民主,往往带来的是没有效率和责任,参与其中的人想法太多,层面参差不齐。所以,软件开发的组织,应该借鉴外科手... 阅读全文
《人月神话》
2014-02-07 18:31 by 三戒1993, 128 阅读, 收藏, 编辑
摘要:
作为软件工程的经典著作,《人月神话》的主要贡献是对软件开发过程的几个重要关键点,提出了独到的见解。 这几个关键内容就是: (1)提倡外科手术式的团队组织: [在软件开发组织上的过份民主,往往带来的是没有效率和责任,参与其中的人想法太多,层面参差不齐。所以,软件开发的组织,应该借鉴外科手... 阅读全文
Mac OS 快速查询技巧
2014-02-04 10:53 by 三戒1993, 130 阅读, 收藏, 编辑
摘要:
今天不知道按到什么快捷键弹出了这个搜索框,试了试很强大后来查了才知道要双击键盘上的key (⌘)就会弹出,这个搜索很强大,要先安装QQ,QQ自带的 版权声明:本文为博主原创文章,未经博主允许不得转载。 阅读全文
Mac OS 快速查询技巧
2014-02-04 10:53 by 三戒1993, 128 阅读, 收藏, 编辑
摘要:
今天不知道按到什么快捷键弹出了这个搜索框,试了试很强大后来查了才知道要双击键盘上的key (⌘)就会弹出,这个搜索很强大,要先安装QQ,QQ自带的 版权声明:本文为博主原创文章,未经博主允许不得转载。 阅读全文