自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (6)
  • 收藏
  • 关注

转载 深入理解 CocoaPods

CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用 CocoaPods,可以定义自己的依赖关系 (称作 pods),并且随着时间的变化,以及在整个开发环境中对第三方库的版本管理非常方便。CocoaPods 背后的理念主要体现在两个方面。首先,在工程中引入第三方代码会涉及到许多内容。针对 Objective-C 初级开发者来说,工程文件的配置会让人很

2016-07-08 23:10:14 368

原创 spring配置quartz定时器任务

报错内容如下:scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class。spring的版本为3.1.1,quartz的版本为2.2.1。要是spring的版本为3.1以下,quartz的兼容版本是1.x。解决方案:将CronTriggerBean修改为C

2016-07-08 14:26:52 731

原创 经典排序算法(OC实现版)

排序算法是每个程序猿都必须掌握的算法。通过思想的转化,排序算法可能用在很多实际应用中。如统计数组的逆序对(归并算法),数组中出现次数超过一半的数字(快速排序),最小的k个数(堆排序)。算法的思路不细讲了,网上的文章很多。直接上代码:头文件如下:#import @interface Sort : NSObject//快速排序-(void)quickSortWithArray:(NS

2016-07-08 10:45:02 1984 1

原创 使用brew安装hexo报错--- Cowardly refusing to `sudo brew install`

最近准备用hexo搭建自己的博客,但在mac下使用brew安装hexo的时候出现如下的错误:Error: Cowardly refusing to `sudo brew install`You can use brew with sudo, but only if the brew executable is owned by root.However, this is both not r

2016-07-04 10:00:02 707

转载 charles使用教程

Charles 的简介如何安装 Charles将 Charles 设置成系统代理Charles 主界面介绍过滤网络请求截取 iPhone 上的网络封包截取 Https 通讯信息模拟慢速网络修改网络请求内容给服务器做压力测试修改服务器返回内容总结简介Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为

2016-06-26 00:22:22 535

转载 开发者所需要知道的 iOS 10 SDK 新特性

开发者所需要知道的 iOS 10 SDK 新特性总览距离 iPhone 横空出世已经过去了 9 个年头,iOS 的版本号也跨入了两位数。在我们回顾过去四五年 iOS 系统的发展的时候,不免感叹变化速度之快,迭代周期之短。iOS 7 翻天覆地的全新设计,iOS 8 中 Size Classes 的出现,应用扩展,以及 Cloud Kit 的加入,iOS 9 里的分屏多

2016-06-23 11:30:14 506

转载 减小iOS应用程序的大小

本文译自:Reducing the size of my AppQ: 怎样才能让我的程序安装包小一点,让程序的下载和安装更快速?A: 本文收集了一些减小程序安装包大小的相关技巧(当第一次下载和安装程序时)。如果是针对升级程序的话,可以看这篇文章(减小iOS应用程序升级时所需下载的大小)(这与第一次安装使用的工作原理有所不同)。检查应用程序首先是检查.app

2016-06-14 11:17:48 379

转载 iOS 10 正式降临,10 大改变!

不经不觉,iOS 的版本号也到达了两位数的大关,尽管外界盛传会像 Mac 一样易为 iOS X,但结果也是继续命名为 iOS 10。随之而来的,就是与版次一样的 10 大改变,除了一堆跟 macOS 的连动的新功能之外,还有的是大家期待已久的小工具以及更强的 Siri 支持。放在十大改变之首的,是重新设计的使用体验,包括了 iPhone 的体感操作,使用者只要拿起手机就

2016-06-14 10:50:10 369

转载 Swift学习一

Swift 初见(A Swift Tour)1.0 翻译:numbbbbb 校对:shinyzhu, stanzhai2.0 翻译+校对:xtymichael本页内容包括:简单值(Simple Values)控制流(Control Flow)函数和闭包(Functions and Closures)对象和类(Objects and Classes)枚举和结构体(En

2016-06-05 21:49:27 794

转载 iOS热文欣赏

《移动开发必读书单》某一领域的技术人,在他的职业生涯中,一定有一些绕不过去的技术和非技术的知识。有的时候,靠自己摸索、到处偷师,倒也能掌握。但是,这些别人早就趟过去的坎,大多已经有了非常棒的书籍作为总结。看了这些书,脚下的路就要平一些。这个书单,就是为了找到移动领域的这些书。《iOS开发经验总结(上)》《iOS开发经验总结(下)》在iOS开发中经常需要使用的

2016-06-02 09:27:35 395

转载 iOS进程通信

总起OS X是MacOS与NeXTSTEP的结合。OC是Smalltalk类面向对象编程与C的结合。iCloud则是苹果移动服务与云平台的结合。上述都是一些亮点,但是不得不说苹果技术中的进程通讯走的是“反人类”的道路。由于不是根据每个节点上最优原则进行设计,苹果的进程间通信解决方案更显得混乱扎堆。结果是,大量重叠,不兼容的IPC技术在各个抽象层随处可见。(除了GCD还有剪贴

2016-06-01 16:27:39 3267

原创 SDWebImage源码解析

SDWebImage是一个开源的第三方库,它提供了UIImageView的一个分类,以支持从远程服务器下载并缓存图片的功能。它具有以下功能:1.一个异步的图片加载器。2.一个异步的内存+磁盘图片缓存3.支持GIF、WebP图片4.后台图片解压缩处理5.确保同一个URL的图片不被多次下载6.确保非法的URL不会被反复加载7.确保下载及缓存时,主线程不被阻塞。1。下载

2016-05-25 15:06:40 6045

原创 UITableView的优化技巧

这段时间也看了很多关于tableview优化的文章,加上前段时间自己也做了一个同时仿微博和支付宝的项目,思考了一些关于UITableView的优化技巧。UITableView是iOS开发中最常用的控件之一。UITableview的简单认识1.重用机制UITableView最核心的思想就是UITableViewCell的重用机制。UITableView只会创建一屏的UITableView

2016-05-04 14:35:17 1779

转载 深入了解RunLoop

RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。IndexRunLoop 的概念RunLoop 与线程的关系RunLoop 对外的接口RunLoop

2016-04-28 11:13:05 492

转载 如何让iOS 保持界面流畅?这些技巧你知道吗

作者:ibireme这篇文章会非常详细的分析 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互。Index1.演示项目2.屏幕显示图像的原理3.卡顿产生的原因和解决方案CPU 资源消耗原因和解决方案GPU 资源消耗原因和解决方案4.AsyncDisplayKi

2016-04-28 11:07:41 644

转载 iOS 处理图片的一些小 Tip

如何把 GIF 动图保存到相册?iOS 的相册是支持保存 GIF 和 APNG 动图的,只是不能直接播放。用 [ALAssetsLibrary writeImageDataToSavedPhotosAlbum:metadata:completionBlock] 可以直接把 APNG、GIF 的数据写入相册。如果图省事直接用 UIImageWriteToSavedPhotosAlbum()

2016-04-19 19:00:32 314

转载 iOS 9 Auto Layout界面自动布局系列6-自适应布局

设计MM小尹:“小李,邮件里是我们设计的用户登录界面初稿,请你看一下技术上有没有什么问题。” 程序猿小李:“好的,我看一下。” 小李打开邮件,看到界面设计初稿为:这是一个同时支持iPhone和iPad的统一App(Universal App)。尽管小李对Auto Layout很熟悉,但是看到设计稿之后,小李却犯了难。因为设计稿中的iPhone横屏的界面布局方式是特殊情况,如

2016-04-15 14:54:17 542

转载 iOS 8 Auto Layout界面自动布局系列5-自身内容尺寸约束、修改约束、布局

首先感谢众多网友的支持,最近我实在是事情太多,所以没有写太多。不过看到大家的反馈和评价,我还是要坚持挤出时间给大家分享我的经验。如果你对我写的东西有任何建议、意见或者疑问,请到我的CSDN博客留言:http://blog.csdn.net/pucker好了,言归正传。本系列的前几篇文章讲解了自动布局的原理,以及如何添加约束。这篇文章主要介绍以下内容:某些用户控件具有自身内容

2016-04-13 13:37:14 743

转载 iOS 8 Auto Layout界面自动布局系列4-使用VFL添加布局约束

本系列第一篇文章介绍了自动布局的基本原理,第二篇通过一个简单的例子演示了如何使用IB以可视化方式创建自动布局约束,第三篇使用代码直接创建NSLayoutConstraint实例来定义自动布局约束。本篇文章在第三篇文章的基础上,使用Visual Format Language(暂且翻译为可视化格式语言,简称VFL)创建约束。 在第三篇文章中,我们仅仅创建了4个视图,就需要创建将近20个NSLay

2016-04-13 09:27:50 485

转载 iOS 8 Auto Layout界面自动布局系列3-使用代码添加布局约束

本系列的第一篇文章介绍了自动布局的基本原理,第二篇文章通过一个简单的例子演示了如何使用Xcode的Interface Builder(简称IB)以可视化方式添加约束。本篇为该系列的第三篇文章,主要介绍如何通过代码来添加布局约束。 其实,我个人认为本篇才应该是系列的第二篇,因为通过代码构建自动布局约束是最基础的,也是最灵活的方式。而IB只不过是把复杂的过程以直观简单的方式呈现出来,而且并非所有的

2016-04-13 09:24:54 638

转载 10倍效率的程序员的好习惯,你有几个?

Brad Feld的一篇文章《The Rise of Developeronomics》中提到了“10倍效率的开发人员(10x developer)”的概念(卓越的开发者的效率往往比一般的开发者高很多,而不只是一点点),Adam Loving 在读了之后受到启发,并向多位大牛(Ben Sharpe、Collin Watson和Jonathan Locke)询问如何成为“10倍效率的开发者”,最后得

2016-04-12 14:56:41 516

转载 iOS应用架构谈 网络层设计方案

前言网络层在一个App中也是一个不可缺少的部分,工程师们在网络层能够发挥的空间也比较大。另外,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用。其它的ASIHttpRequest,MKNetworkKit啥的其实也都还不错,但前者已经弃坑,后者也在弃坑的边缘。在实际的App开发中,Afnetworking已经成为了事实上各大App的标准配置。

2016-04-11 16:28:22 886

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

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

2016-04-11 14:51:15 448

转载 iOS应用架构谈 开篇

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

2016-04-09 10:06:05 320

原创 ios牛人博客

李忠(limboy):来自蘑菇街,RAC实践的国内先驱者http://limboy.me/Bang的博客:目前就职于Tutuso,JSPatch作者http://blog.cnbang.net/王巍的博客:王巍目前在日本横滨任职于LINE。工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发。他的陈列柜中已有多款应用,其中番茄工作法工具非常棒

2016-04-07 17:21:02 9013 1

转载 如何打造一个让人愉快的框架

如何打造一个让人愉快的框架这是我在今年 1 月 10 日 @Swift 开发者大会 上演讲的文字稿。相关的视频还在制作中,没有到现场的朋友可以通过这个文字稿了解到这个 session 的内容。虽然我的工作是程序员,但是最近半年其实我的主要干的事儿是养了一个小孩。 所以这半年来可以说没有积累到什么技术,反而是积累了不少养小孩的心得。 当知道了有这么次会议可以分

2016-04-06 14:30:10 834

原创 runtime基础篇

runtime是什么对于刚接触iOS或者初学者,runtime有点像十万个为什么,处处有疑惑。但作为一个iOS开发人员,runtime是深刻掌握Objective C所必须掌握的东西。它应该是OC最核心的部分,只有掌握好它,你才能理解其底层的原理和OC是个动态语言。要练成盖世神功,需练就自身深厚的内功,而runtime就是iOS开发的上层内功。runtime是一个c和汇编写的动态库,他就像

2016-04-06 10:56:19 534

转载 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束

上一篇文章《iOS 8界面自动布局系列-1》简要介绍了iOS界面布局方式的前世今生。本篇文章将详细介绍如何使用自动布局实现不同屏幕尺寸的适配。添加自动布局约束(下文简称约束)有以下三种方式:使用Xcode的Interface Builder界面设计器添加并设置约束通过代码逐条添加约束通过可视化格式语言VFL添加约束本文将以一个简单的例子来演示如何

2016-04-01 17:16:18 1136

转载 Auto Layout界面自动布局系列1-自动布局的基本原理

一、视图定位的基本原理视图(View)是一个用于显示内容的矩形区域,它是构成app界面的最基本单元。下图为计算器app的横屏界面,其中每一个计算器按键都是一个视图。在平面直角坐标系中,要准确描述一个矩形需要确定以下四个布局属性(Layout Attribute),即水平位置x、垂直位置y、宽度w、高度h(暂不考虑旋转)。只有上述4个布局属性都明确的情况下,该视图才能正确

2016-04-01 16:56:02 833

原创 Add Two Numbers(OC版)

题目要求:You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as

2016-03-31 23:05:45 337

转载 检测iOS的APP性能的一些方法

检测iOS的APP性能的一些方法首先如果遇到应用卡顿或者因为内存占用过多时一般使用Instruments里的来进行检测。但对于复杂情况可能就需要用到子线程监控主线程的方式来了,下面我对这些方法做些介绍:Time Profiler可以查看多个线程里那些方法费时过多的方法。先将右侧Hide System Libraries打上勾,这样能够过滤信息。然后在Call

2016-03-28 23:09:36 1925

原创 多线程学习---解析苹果官网代码《LazyTableImages》

很早以前就看过《LazyTableImages》的代码,当时只是大致看了一下它的原理,没有很详细的研读。最近在看第三方开源框架的代码,学习优化策略以及优雅的代码风格,提高自身水平,希望与大家一起学习和共同讨论。一、简要流程说明。   1、通过RSS feed建立URL请求获取XML数据;2、通过获取的XML数据,创建ParseOperation在后台使用NSXMLParse

2016-03-27 21:33:00 1200

转载 多线程之NSOperation

一、简介一个NSOperation对象可以通过调用start方法来执行任务,默认是同步执行的。也可以将NSOperation添加到一个NSOperationQueue(操作队列)中去执行,而且是异步执行的。创建一个操作队列:[java] view plain copyNSOperationQueue *queue = [[NS

2016-03-27 17:29:04 356

转载 https是如何保证数据传输的安全

为什么需要httpsHTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。用户登陆 --> 代理服务器(做手脚)--> 实际授权服务器在发送端对密码进行加密?没用的,虽然别人不知道你原始密码是多少

2016-03-26 09:09:39 25927 3

原创 二分查找算法(OC版--非递归实现)

闲来无事,歇歇二分查找算法//// ViewController.m// BinarySearch//// Created by bcc_cae on 16/3/25.// Copyright © 2016年 bcc_cae. All rights reserved.//#import "ViewController.h"@interface ViewControl

2016-03-25 17:29:04 2016 1

原创 Longest Substring Without Repeating Characters

Longest  Substring Without Repeating Characters (来自LeetCode)Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeatin

2016-03-25 09:23:13 287

转载 “自释放”在iOS开发中的应用

今天,跟大家聊聊“自释放”思想在iOS开发中的应用,何为“自释放”?可以简单的理解为对象在生命周期结束后自动清理回收所有与其相关的资源或链接,这个清理不仅仅包括对象内存的回收,还包括对象解耦以及附属事件的清理等,比如定时器的自我停止、KVO对象的监听移除等对象内存的回收开发中,对象管理的基本原则——谁创建谁释放。但是,非ARC工程中,我们会用autorelease来标记一个对象,告

2016-03-22 10:20:05 402

原创 iOS事件处理---响应者链

一、定义(Responder Chain)  响应者链就是由一系列的响应者对象(响应和处理事件能力的对象)构成的一个层次结构 (或者链条)。它的作用是能让多个控件处理同一个触摸事件。 第一响应者(First responder)指的是当前接受触摸的响应者对象(通常是一个UIView对象),即表示当前该对象正在与用户交互,它是响应者链的开端。整个响应者链和事件分发的重点就是找第一响应者。

2016-03-21 14:39:55 2198

转载 iOS开发安全篇---SQLite加密

关于SQLiteSQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS、Android)。 然而免费版的SQLite有一个致命缺点:不支持加密。这就导致存储在SQLite中的数据可以被任何人用任何文本编辑器查看到。比如国内某团购iOS客户端的DB缓存数据就一览无余:  

2016-03-19 16:10:58 1312

转载 iOS9 新特征之一:Bitcode

今天试着用Xcode 7 beta 3在真机(iOS 8.3)上运行一下我们的工程,结果发现工程编译不过。看了下问题,报的是以下错误:1ld: ‘/Users/**/Framework/SDKs/PolymerPay/Library/mobStat/lib**SDK.a(**ForSDK.o)’ does not contain bitcod

2016-03-13 20:48:08 682

连续子数组的最大和

从头到尾逐个累加示例数组中的每个数字。初始化和为0,第一步加上第一个数字1,此时和为1。接下来第二步加上数字-2,和就变成了-1.第三步加上数字3。注意到由于此前累计的和是-1,小于0,那如果用-1加上3,得到的和是2,比3本身还小。也就是说从第一个数字开始的子数组的和会小于从第三个数字开始的子数组的和。因此我们不用考虑从第一个数字开始的子数组,之前累计的和也被抛弃。 我们从第三个数字重新开始累加,此时得到的和是3.接下来第四步加10,得到和为13。第五步加上-4,和为9。我们发现由于-4是一个负数,因此累加-4之后得到的和比原来的和还要小。因此我们要把之前得到的和13保持下来,它有可能是最大的子数组的和。第六步加上数字7,9加7的结果是16,此时和比之前最大的和13还要大,把最大的子数组的和由13更新为16.第七步加上2,累加得到的和为18,同时更新最大的子数组的和。第八步加上最后一个数字-5,由于得到的和为13,小于此前最大和18,因此最终最大的子数组的和为18,对应的子数组是{3,10,-4,7,2}。

2015-12-23

封装自定义TabbarController

封装自定义TabbarController,用户根据自己的需求修改封装的自定义TabbarController来满足自己的需求

2015-11-30

iOS学习笔记3---delegate五步曲,轻松学会使用delegate

delegate、五步曲、调用照相机、切换键盘

2015-11-05

iOS学习笔记2(结合项目)--Category和Extension的区别

Category实例 /** * 判断某个时间是否为今天 */ -(BOOL)isToday; /** * 判断某个时间是否为昨天 */ -(BOOL)isYesterday; /** * 判断某个时间是否为今年 */ -(BOOL)isYear; /** * 将某个时间格式化为yyyy-MM-dd */ -(NSDate *)dateWithYMD; /** * 计算某个时间与当前时间的时间差 */ -(NSDateComponents *)deltaWithNow;

2015-11-03

2009上半年、2010年下半年、2011年软件设计师真题分析与解答

软件设计师考试真题分析,讲解透彻,有助于快速了解考试的相关内容

2014-12-09

设计模式及C++源代码

学习设计模式必备,个人感觉还是不错。不过设计模式需要跟具体的项目结合,效果更好。先学习理论,为实践做好准备!

2012-06-11

空空如也

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

TA关注的人

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