自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(329)
  • 资源 (22)
  • 收藏
  • 关注

转载 iOS应用架构谈 view层的组织和调用方案

前言《iOS应用架构谈 开篇》出来之后,很多人来催我赶紧出第二篇。这一篇文章出得相当艰难,因为公司里的破事儿特别多,我自己又有点私事儿,以至于能用来写博客的时间不够充分。现在好啦,第二篇出来了。当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构。一般也就是这两种时机会去做View层架构,基

2015-08-25 21:59:39 807

转载 iOS应用架构谈 开篇

缘由之前安居客iOS app的第二版架构大部分内容是我做的,期间有总结了一些经验。在将近一年之后,前同事zzz在微信朋友圈上发了一个问题:假如问你一个iOS or Android app的架构,你会从哪些方面来说呢?当时看到这个问题正好在乘公车回家的路上,闲来无聊就答了一把。在zzz在微信朋友圈上追问了几个问题之后,我觉得有必要开个博客专门来讲讲一些个人见解。其实对于iOS

2015-08-25 21:45:30 728

转载 解决升级XCode后插件失效的方法

Plugins are tagged to work with specific versions of Xcode. This means that when a new Xcode version comes out, all 3rd party plugins created by the community will fail until they add the UUID specifi

2015-08-06 23:42:40 1490

转载 iOS开发系列--音频播放、录音、视频播放、拍照、视频录制

概览随着移动互联网的发展,如今的手机早已不是打电话、发短信那么简单了,播放音乐、视频、录音、拍照等都是很常用的功能。在iOS中对于多媒体的支持是非常强大的,无论是音视频播放、录制,还是对麦克风、摄像头的操作都提供了多套API。在今天的文章中将会对这些内容进行一一介绍:音频音效音乐音频会话录音音频队列服务视频MPMoviePlayerControllerMPMovie

2015-07-30 17:07:26 856

转载 C/C++中extern关键字详解

文章转自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。      也就是说extern有两个作用,第一个,当它与"C

2015-07-21 18:06:31 811

原创 动画里关于 CALayer 的一些零碎知识点

重温了一下《IOS 7 Programming: Pushing the Limits》这本书,有许多零碎的知识点,记录一下,勉强算作是学习笔记吧。CALayerPart 1动画的基本单元就是 UIView,它是非常重量级的对象,所以不能多用。但你又想让你的 UI 看起来更酷,那就需要使用 Core Animation 了。Core Animation 中最基础也最重要的部

2015-07-01 15:40:48 1436

原创 关联引用

关联引用允许开发者为任何对象附着键值数据。这种能力有很多用法,一种常见的用法是:1)让分类为属性添加方法。考虑 Person 类这个例子,假设你要用分类添加一个新属性,叫做 emailAddress。可能其他程序也用到了 Person,有时候需要电子邮箱地址,有时候不需要,分类就是很好的解决方案,可以避免在不需要的时候开销。或者 Person 不是你的,而维护者没有为你添加这个属性。不

2015-06-28 18:29:33 1420

原创 swift学习笔记二

新建一个类,作为计算器的 Model 层,这里将类命名为 CalculatorBrainimport Foundationclass CalculatorBrain { //1 private enum Op { case Operand(Double) case UnaryOperation(String, Double -> Double

2015-06-27 21:55:51 1674

原创 swift 学习笔记一

看 Developing IOS 8 Apps with swift 的时候看到一些比较有用的点,记录一下:1、将函数作为参数传递。例如:写一个两个数求和的函数:performOperation(multiply) func performOperation(operation:(Double,Double) -> Double) { if operandSta

2015-06-27 17:48:19 1219

转载 基于 CoreText 的排版引擎:进阶

本章前言在上一篇《基于 CoreText 的排版引擎:基础》中,我们学会了排版的基础知识,现在我们来增加复杂性,让我们的排版引擎支持图片和链接的点击。支持图文混排的排版引擎改造模版文件下面我们来进一步改造,让排版引擎支持对于图片的排版。在上一小节中,我们在设置模版文件的时候,就专门在模板文件里面留了一个名为type的字段,用于表示内容的类型。之前的type的值都是t

2015-06-27 17:36:48 2857

转载 基于 CoreText 的排版引擎:基础

本章前言使用 CoreText 技术,我们可以对富文本进行复杂的排版。经过一些简单的扩展,我们还可以实现对于图片,链接的点击效果。CoreText 技术相对于 UIWebView,有着更少的内存占用,以及可以在后台渲染的优点,非常适合用于内容的排版工作。本章我们将从最基本的开始,一步一步完成一个支持图文混排、支持图片和链接点击的排版引擎。CoreText 简介Cor

2015-06-27 17:11:05 3611

翻译 Model-View-ViewModel for iOS [译]

如果你已经开发一段时间的iOS应用,你一定听说过Model-View-Controller, 即MVC。MVC是构建iOS app的标准模式。然而,最近我已经越来越厌倦MVC的一些缺点。在本文,我将重温一下MVC是什么,详述它的缺点,并且告诉你一个新的方式来架构你的app:Model-View-ViewModel。拿出你的流行语bingo card(宾果卡,一种游戏卡片-译者注),因为我们即将进行

2015-06-26 10:01:29 1206

转载 iOS测试与集成工具总结

Giovanni Lodi是来自澳大利亚的一名iOS开发者,最近他总结了iOS平台上单元测试、验收测试的工具,分析了它们的优缺点,以及支持iOS App的持续集成平台。苹果官方工具XCTest是苹果在iOS 7和Xcode5引入的一个简单而强大的测试框架,它的测试编写起来非常简单,并且遵循xUnit风格。XCTest的优点是与Xcode深度集成,有专门的Test导航栏,但因

2015-06-08 00:04:31 1434

转载 iOS利用Runtime自定义控制器POP手势动画

文章转自:前言苹果在IOS7以后给导航控制器增加了一个Pop的手势,只要手指在屏幕边缘滑动,当前的控制器的视图就会跟随你的手指移动,当用户松手后,系统会判断手指拖动出来的大小来决定是否要执行控制器的Pop操作。nav_pop_origin.gif这个操作的想法非常好,但是系统给我们规定的范围必须是屏幕左侧边缘才可以触发,这样实际使用过程中对于有些

2015-06-05 11:32:30 619

转载 跳出手掌心——如何立即触发UIButton边界事件

跳出手掌心——如何立即触发UIButton边界事件21 May 2015 • 2 min. read • 0 Comments最近在使用UIButton的过程中遇到一个问题,我想要获得手指拖动button并离开button边界时的回调,于是监听UIControlEventTouchDragExit事件,如文档所述:An event where a finger is

2015-05-27 17:51:58 1222

转载 有趣的Autolayout示例-Masonry实现

文章转自:http://tutuge.me/2015/05/23/autolayout-example-with-masonry/?comefrom=http://blogread.cn/news/有趣的Autolayout示例-Masonry实现前言好久没有写Blog了,这段时间有点忙啊=。=本文举了3个比较有“特点”的Autolayout例子,源于微博上好友的提

2015-05-25 13:53:35 10483

转载 网易新闻iOS版使用的开源组件

网易新闻iOS版在开发过程中曾经使用过的第三方开源类库、组件1、AFNetworkingAFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功能强大, 现在许多人都用它取代 ASIHTTPRequest2、Apple Reachability网络监测,可以参考下这篇文章iOS网络

2015-05-20 14:04:07 1377

转载 iOS开发者如何提高自己的水平?

(原文:Leveling Up 作者:Mark Dalrymple 译者:xiaoying )不知道你有没有参与或是旁观过iOS开发的黑客马拉松,我觉得这是非常好的事情,在这里人们几乎不睡觉,一起脑洞大开,在Objective-C运行时环境下,利用iOS的相关知识攻城略地,度过激情四射的72个小时。对于我来说,它们让人心潮澎湃,我的所有平台知识都在头脑风暴下接受考验,我的技

2015-05-09 12:37:25 1381

转载 实时显示iOS编写UI代码效果

编写iOS应用UI的方式大概有两种,一种是Storyboard/Xib,另一种是手写代码。采用Storyboard/Xib方式组织UI,由于提供可视化的特性,只要从UI库中拖动UI控件,便可以显示结果,极大地提高开发速度。但面临一个问题就是多人协作开发,由于所有的UI都放在同一个Storyboard文件中,使用Git/SVN合并代码就会出现冲突。多人协作开发还不是主要问题,有人提出可以创建多个St

2015-05-08 18:48:25 2422

转载 iOS 开发实践之 Auto Layout

本文是博主 iOS 开发实践系列中的一篇,主要讲述 iOS 中 Auto Layout(自动布局)在实际项目中的使用。Auto Layout 在 2012 年的 iOS 6 中发布,距今已经 2 年多了,如果从 2011 年在 Mac OS X 上发布的 Auto Layout 开始算起,已经超过 3 年了。如果你的简历上写着 2 年以上工作经验,而竟然不会使用 Auto Layout,真

2015-04-28 11:02:59 1548 1

转载 Method Swizzling 和 AOP 实践

文章转自:http://tech.glowing.com/cn/method-swizzling-aop/上一篇介绍了 Objective-C Messaging。利用 Objective-C 的 Runtime 特性,我们可以给语言做扩展,帮助解决项目开发中的一些设计和技术问题。这一篇,我们来探索一些利用 Objective-C Runtime 的黑色技巧。这些技巧中最具争议的或许就是 Me

2015-04-27 10:26:08 877

转载 AFNetworking2.0源码解析<一>

最近在看 AFNetworking 源码,想自己边看边记录一下学习笔记的,过程中发现隔壁同桌的笔记做的挺不错的,我索性就把草稿给删了,抄了同桌的笔记了,文字和版权全部都属于同桌。    文章转自:http://blog.cnbang.net/tech/2320/comment-page-1/    最近看AFNetworking2的源码,学习这个知名网络框架的实现,顺便梳理写下文章。A

2015-04-24 15:02:50 1050

转载 Custom backBarButtonItem

我想得到的效果:当用户点击backBarButtonItem的时候,在pop前,我想处理一些逻辑来判断是否pop。并且我想要保留backBarButtonItem的'为什么得不到这种效果为backBarButtonItem绑定事件会被忽略,UINavigatonController自动为其绑定事件,只做POP动作。There is nothing we can do

2015-04-15 11:45:35 1934

转载 数字签名是什么?

数字签名是什么?作者: 阮一峰日期: 2011年8月 9日今天,我读到一篇好文章。它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了

2015-04-15 11:35:35 834

原创 KVC 和 KVO 的一点理解

KVC用 KVC 实现高阶消息传递valueForKey: 有很多有用的特例,比如说 NSArray 和 NSSet 这样的容器类都覆盖了这个方法。valueForKey: 被传递给容器中得每一个对象,而不是对容器本身进行操作。结果会被添加进返回的容器中。这样,开发者能很方便的用一个容器创建另一个容器对象,比如像这样:NSArray *array = @[@"foo",@"

2015-03-29 10:59:07 5112

原创 关于设置 UIPopoverController.popoverContentSize 大小的坑

在 IOS 8 中,这样设置是没有问题的,但是在 IOS 7 中,这样的设置就会出现问题了,无论你怎样设置,popover  出来的内容框大小依然是默认的大小。_popoverController = [[UIPopoverController alloc] initWithContentViewController:_contentViewController]; _popov

2015-03-25 15:04:34 6307

原创 NSDateFormatter 日期格式

紀元的顯示:G:顯示AD,也就是公元 年的顯示:yy:年的後面2位數字yyyy:顯示完整的年 月的顯示:M:顯示成1~12,1位數或2位數MM:顯示成01~12,不足2位數會補0MMM:英文月份的縮寫,例如:

2015-03-24 18:38:27 1771

原创 IOS之方法混写(swizzling.)

OC中的混写(swizzling)是指透明地把一个方法换成另外一个。简明的说就是在运行时替换方法。利用方法混写可以改变那些没有源代码的对象(包括系统对象)的行为。方法混写的代码看起来相对比较直观的,举个例子说明一下,之前做本地化翻译的时候就有用到 swizzling 方法。直接去swizze方法 awakeFromNib 然后替换成自己的方法实现以实现本地化翻译。详细可以看这篇文章:IOS本地

2015-03-17 23:00:53 3146

转载 iOS多线程编程指南(二)线程管理

当应用程序生成一个新的线程的时候,该线程变成应用程序进程空间内的一个实体。每个线程都拥有它自己的执行堆栈,由内核调度独立的运行时间片。一个线程可以和其他线程或其他进程通信,执行I/O操作,甚至执行任何你想要它完成的任务。因为它们处于相同的进程空间,所以一个独立应用程序里面的所有线程共享相同的虚拟内存空间,并且具有和进程相同的访问权限。 一、线程成本多线程会占用你应用程序(和

2015-03-11 21:55:11 743

转载 IOS多线程编程一:概述

什么是多线程多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。从技术角度来看,一个线程就是一个需要管理执行代码的内核级和应用级数据结构组合。内核级结构协助调度线程事件,并抢占式调度一个线程到可用的内核之上。应用级结构包括用于存储函数调用的调用堆栈和应用程序需要管理和操作线程属性和状态的结构。 多线程的替代方法你自己创建多线程代码的一个问题就是它会给你

2015-03-11 21:38:46 870

转载 UIDevice Category For Processes

// .h @interface UIDevice (ProcessesAdditions)- (NSArray *)runningProcesses;@end // .m#import @implementation UIDevice (ProcessesAdditions) - (NSArray *)runningProcesses { int mib[4] =

2015-02-27 21:13:39 934

转载 How to add a Custom Pull to Refresh in your iOS Application

If you love your iOS Application and like to make sure that branding is consistent throughout then it might be a good idea to customise the Pull to Refresh feature.There is some debate whether or

2015-01-20 10:01:01 1390

转载 我常用的 15 个 Sketch Plugins

我常用的 15 个 Sketch PluginsSketch 是我工作中使用频率最高的应用,有必要列个轻单来记录下 Sketch 里让我提升工作效率的几个常用插件。依据个人使用习惯,以下排名分先后。Content Generator Sketch Plugin快速创建头像、名字、地理位置等 mock up 的必备神器。https://

2015-01-12 09:34:23 19221

原创 解决resignFirstResponder或者endEditing无效的办法

当你想要收回弹出的键盘时却发现平时用的resignFirstResponder和endEditing都失去作用时,应该考虑一下当前的TextField是否为第一响应者,如果不是第一响应者的话,自然下面的几个方法都没有效果,解决办法有二:1、找出当前第一响应者,然后resignFirstResponder。2、先对TextField becomeFirstResponder 然后再 resignFi

2015-01-07 15:26:06 19162

原创 NSDateFormatter 'YYYY' 和 'yyyy' 的区别

今天刷微博的时候看到这个:立马就想到了BK项目今天feedback回来的bug,运行了大半年好好的都没有啥问题,今天突然间黑屏了,debug后才发现,NSDateFormatter 的时候时间变成2015年了,擦,今天还是2014年啊亲!所以导致create preform的时候出现了问题。Google了之后才发现是在格式化的时候由YYYY导致引起的,改回yyyy就好了。具体区别:

2014-12-29 23:52:44 10399 1

原创 CAEmitterLayer实现粒子效果

CAEmitterLayer在iOS 5中,苹果引入了一个新的CALayer子类叫做CAEmitterLayer。CAEmitterLayer是一个高性能的粒子引擎,被用来创建实时例子动画如:烟雾,火,雨等等这些效果。CAEmitterLayer看上去像是许多CAEmitterCell的容器,这些CAEmitierCell定义了一个例子效果。你将会为不同的例子效果定义一个或多个CA

2014-12-26 17:57:33 12035 2

转载 如何在github上fork一个项目来贡献代码以及同步原作者的修改

作为一个IT人,通过github进行学习是最快的成长手段。我们可以浏览别人的优秀代码。但只看不动手还是成长得很慢,因此为别人贡献代码才是明智之举。比如我们看下片看,许多大片都是由字幕组免费翻译压制的。为什么他们要这样做呢?因为他们都是聪明的大学生,为了提高听力水平,提高笔译水平才这样干的!中国人都是非常实务的!因此贡献代码,参与开源项目都是有益无害的!好了,让我们开始吧!如何贡献自己的力量

2014-12-06 00:16:04 1048

翻译 PhoneGap 教程:一个跨平台的 Todo App

PhoneGap 是一个允许开发中使用s

2014-12-03 17:38:20 6168 1

原创 根据文字动态调整 UILabel 高度

#import @interface UILabel (dynamicSize)-(float)resizeToFit;-(float)expectedHeight;@end#import "UILabel+dynamicSize.h"@implementation UILabel (dynamicSize)-(float)resizeToFit{ float

2014-12-02 18:33:01 3766

原创 阅读 TCMessageBox toast 源码小记

TCMessageBox toast 是一个很小的 toast 展示,主要效果有以下2种:            看了一下实现方式,也是挺简单的,不外乎就是创建一个view,中间再放一个 activityIndicator 和一个 label,最后再把整个view展示在 mianView 的中间而已。看代码:#import @interface TCMessageBox :

2014-11-26 14:43:56 1111

fdk-aac-0.1.3(包含bitcode)

fdk-aac-0.1.3 源码,里面也包含了一个已经编译好的包含所有架构的 libfdk-aac.a , 要自己编译的话看这里啦 http://blog.csdn.net/chaoyuan899/article/details/51701100

2016-06-17

CKCalendarView

IOS之使用CKCalendar做datePicker,实现日历的一个下拉选择,通过实现代理方法可定制自己想要的功能,如不能选择当前日期之前/之后的。

2014-06-09

优化UITableViewCell滚动性能demo

优化UITableViewCell滚动性能,使用到Loren Brichter在Twitter中写到得关于UITableViewCell流畅滚动的内容。

2014-05-10

TPKeyboardAvoidingScrollView(view自动上滚,避免遮住输入框)

TPKeyboardAvoidingScrollView用于在scrollview中实现自动上滚,避免键盘遮盖住了textfield,textview等控件 使用方法: 将TPKeyboardAvoidingScrollView.h和TPKeyboardAvoidingScrollView.m add进工程中 在需要用键盘自动上滚的controller的xib文件中,找到view,修改其Class为TPKeyboardAvoidingScrollView就可以了 可以参照BSPickerController.xib中看看

2013-09-23

Object-C内存管理2-对象之间的内存管理

博客相关源码下载,对应博文http://blog.csdn.net/chaoyuan899/article/details/10355669

2013-08-26

好友列表(multimap实现)

多映射示例:multimap 实现的简单好友列表。

2013-05-29

Windows异步套接字网络编程

本程序基于windows的异步消息机制,采用异步套接字WSAsoket,详细设计实现了客户端、服务器端的即时消息通讯,是做聊天室(单人聊天、多人聊天)的一个很好的例子,编程工具采用VC++(MFC). 附注:本程序是从别人那里下载过来的,看不惯其过高的资源积分,自己就上传了一份,东西是用来分享的,尤其是在学习阶段,有分享才有进步嘛. 相关资源可看孙鑫经典20集教学视频的第16集.

2013-04-30

基于UDP的简单可视化界面聊天程序(c/c++)

socket编程,基于UDP的简单可视化界面聊天程序,,局域网内可用,刚开始学socket编程的娃儿可以看一下,共勉。

2013-04-27

Prolific usb-to-serial comm port 驱动 for win7win8

解决usb-to-serial的问题,win8亲测可用,注意安装的时候以管理员身份win7兼容性运行,安装完成之后点击“更新驱动程序软件”才可用。 文档描述支持以下系统: Supports the following Windows OS Family: - Windows 2000 SP4 - Windows XP SP2 and above (32 & 64 bit) - Windows Server 2003 (32 & 64 bit) - Windows Vista (32 & 64 bit) - Windows 7 (32 & 64 bit) - Windows Server 2008 / 2008 R2 (32 & 64 bit)

2013-04-27

基于UDP的简单字符界面的聊天程序

用c写的一个基于UDP的简单字符界面的聊天程序,附带解释说明的word文档。

2013-04-24

FSCapture_7.0_XiaZaiBa(滚动截图).exe

FSCapture_7.0_XiaZaiBa(滚动截图).exe

2013-04-21

OpenGL教程_NeHe_源代码_1-48

OpenGL教程_NeHe_源代码_1-48

2013-03-10

Visual C++MFC编程实例

本书通过85个实例全面讲述了应用MFC进行Visual C++编程的思想。每个实例均以编写一个应用程序要走的步骤编写。全书共分四部分进行介绍,第一部分是基础知识,第二部分讲述用户界面的实例,第三部分讲述MFC内部处理方面的实例,第四部分讲述打包实例。全书基本上面向实例进行阐述,讲解透彻、易于掌握。本书既可作为初学者和大专院校师生的自学参考书,也可作为计算机软件开发人员的技术参考书。

2013-03-06

软件工程项目编写模板与示例

文档包括以下内容: 基于多元交流的手机支付购物平台概要设计说明书 基于多元交流的手机支付购物平台详细设计说明书 网上商城项目需求规格说明书 在线音乐系统项目计划

2013-01-06

OJ题目及源码

学校OJ网站的题目及源码 网址:http172.21.85.19ZQUOJhomeHomePage.jsp 想提高编程水平的娃儿平时可以练一练

2012-12-28

网络数据库课程设计

实验一~实验四都是对department表和custom表的增、删、查、改操作 实验一,嵌入sql代码, 实验二,用存储过程实现 实验三,用三层架构实现 实验四,用Ling实现 实验五,对Produc表的操作,使用Ajax技术查询。 附注:导入数据库,直接打开DiaryPro的.sln后缀名的文件即可运行

2012-12-28

DBHelper类

微软DBHelper,封装了对数据库的一些常用操作

2012-12-23

JDBC连接Oracle

JDBC连接Oracle,附带两个教学视频

2012-10-26

employeeProject

我的第一个比较正规的、专业化的、用面向对象方法编程的employeeProject,留下来小小纪念一下。

2012-10-15

Visual.Assist.Crack

Visual.Assist.Crack编程助手工具,破解版,将文件夹里面的.dll文件复制到安装文件夹下,that's all!

2012-08-30

C语言流程图生成器(免注册版)

一款强大的C语言流程图生成器(免注册版),可以将生成的流程图直接导出到word、pdf等。

2012-06-19

《数据结构》树的相关操作

基于C语言的树的相关操作:新建、插入、删除、函数递归及非递归的遍历、层遍历

2011-06-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除