-
iOS多线程之NSOperation和NSOperationQueue
如果对Java或者与Java类似的语言熟悉的话,可以说NSOperation对象很像java.lang.Runnable接口。类似的,在Java的Runnable接口中,NSOperation对象被设计为可以扩展的。还是和Java一样,这里也有一个方法可以被重载次数的最小值。对于NSOpetation来说,这个方法就是-(void)main方法.使用NSOperation的最简单的一种方法是把它加入一个NSOperationQueue。一旦operation被加入了这个队列,队列就马上把它...…
-
iOS中Info.plist文件的常见配置
在创建一个新的Xcode工程后,会在Supporting Files文件夹下自动生成一个工程名-Info.plist的文件,这个是对工程做一些运行期配置的文件(很重要,必须有该文件)。如果使用文本编辑器打开这个文件,会发现这是一个XML格式的文本文件,使用Xcode的Open As->Source Code或者Property List可以进行编辑,本文会重点介绍一些在iOS开发中常见的的Info.plist的配置项。Info.plist配置项说明1、设置启动图标(CFBundleI...…
-
iOS应用程序适配iOS7
Apple自去年发布iOS7以来一直以来都有关注目前各个大厂发布的app,到目前为止基本上绝大多数App Store上的app已经做到iOS7适配,不光是支持iOS7的布局调整更多的是在iOS7整体设计方面的改进,朝着扁平化和简单线条话的方式进行设计。UI适配在iOS7中view默认是全屏模式,状态栏的高度也加在了view的高度上,例如iOS7之前iPhone5/5s/5c中self.view.frame.size.height = 548,在iOS7中就是568了,在iOS7中navig...…
-
使用CocoaPods管理iOS项目中的依赖库
一种开发语言发展到一定的程度就会出现相应的依赖管理工具(Dependency Manager)或者是中央代码仓库,例如: Java: Maven,Ivy Ruby: gems Python: pip, easy_install Node.js: npm随着iOS开发者的增加,业界也出现了为iOS程序提供依赖管理的工具,这个工具叫做:CocoaPods。CocoaPods是一个负责管理iOS项目中第三方开源代码的工具,其源码在Github上托管。该项目开始于2011年8月12日,经过...…
-
iOS中的URL Scheme
在iOS的SDK中提供了一个非常有意思的功能,它能将iOS的Application同自定义的URL Schema绑定,同时可以通过URL Scheme在浏览器或者是其他应用中启动这个Application。本文主要介绍如何通过URL Scheme的方式启动应用和参数的传递。创建URL Scheme1、首先在*-Info.plist中添加一行,选择URL types,效果如下图所示:2、在展开的Item 0中填写URL identifier,这个用来唯一标识用户自定义的URL Scheme,...…
-
iOS中的二维码扫描
二维码(Two-dimensional code),又称二维条码,它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息数据的一把钥匙。在现代商业活动中,可实现的应用十分广泛,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理、信息传递、名片交流、wifi共享等。如今智能手机扫一扫功能的应用使得二维码更加普遍。ZXingZXing是一个开源的条码生成和扫描库,支持众多的条码格式,而且有各种语言的实现版本,支持的语言包括Ja...…
-
Java使用JNDI配置WEB项目数据源
JNDI(Java Naming and Directory Interface,Java命名与目录接口)是Java提供的一种标准的命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI(Service Provider Interface,服务提供者接口)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。使用传统的方式一般对于普通的项目,习惯上使用.properties的文件来配...…
-
使用Ant实现iOS项目的自动编译打包
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供维护,目前最新的版本是1.9.4。本文主要介绍如何在iOS开发中使用Ant来提高开发效率,重点涉及到ant的安装、build配置文件的基本语法和iOS build脚本等内容。安装ANT工具1、到Apache Ant的官网上下载最新的ant工具包可以直接使用浏览器下载,或者是其他下载工具。下载地址也可以使用如下的命令:wget http://...…
-
Objective-C中的Method Swizzling
Objective-C对象在收到消息之后会经过Dynamic Message Dispatch System(动态消息派发系统)来进行处理,该系统会查出消息对应的方法并执行其代码。那么对于给定@selector名称相对应的方法是否可以在运行期可以动态改变呢?如果能善用这个特性,则可发挥出巨大优势,因为我们可以不需要源码也不需要通过继承子类来覆写对应的方法就能改变这个类本身的功能。没错,Objective-C中确实提供了这样的操作,这就是我们这里会介绍到的Method Swizzling(方...…
-
Objective-C中的Associated Objects
Associated Objects(关联对象)或者叫做关联引用(Associated References),是作为Objective-C 2.0运行时功能被引入到Mac OS 10.6 Snow Leopard(及iOS4)系统。与它相关在<objc/rumtime.h>中有3个C函数,他们可以让对象在运行时关联任何值:(1)用给定的key和policy来为指定对象(object)设置关联对象值(value)void objc_setAssociatedObject(id ...…