自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 8行代码教你搞定导航控制器全屏滑动返回效果

一、自定义导航控制器目的:以后需要使用全屏滑动返回功能,就使用自己定义的导航控制器。二、分析导航控制器侧滑功能效果:导航控制器默认自带了侧滑功能,当用户在界面的左边滑动的时候,就会有侧滑功能。系统自带的侧滑效果:分析:1.导航控制器的view自带了滑动手势,只不过手势的触发范围只能在左边。2.当用户在界面左边拖动,就会触发滑动手势方法

2015-12-30 22:19:45 559

原创 第一个只出现一次的字符

题目:在字符串中找出第一个只出现一次的字符。如输入"jingwanlisingsjx",则输出'w'。最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符可能与后面的O(n)个字符相比较,因此这种思路的时间复杂度是O(n2)。更高效的方法是利用少量的空间

2015-12-28 13:56:15 339

转载 iOS应用的crash日志的分析基础

版权声明:本文为博主原创文章,未经博主允许不得转载。Outline如何获得crash日志如何解析crash日志如何分析crash日志     1. iOS策略相关     2. 常见错误标识     3. 代码bug一、如何获得crash日志当一个iOS应用程序崩溃时,系统会创建一份crash日志保存在设备上。这份crash日志记录着应用程序

2015-12-23 16:40:00 293

原创 连续子数组的最大和

题目:输入一个整型数组,数组里面有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为{1,-2,3,10,-4,7,2,5},和最大的子数组为{3,10,-4,7,2},因此输出为该子数组的和18。最直观的方法,即枚举出数组的所有子数组并求出它们的和。一个长度为n的数组,总共有n(n+1)/2个子数组。计算出所有所有

2015-12-23 15:19:49 486

转载 A、B两个整数集合,设计一个算法求他们的交集,尽可能的高效。

思路1:排序法  对集合A和集合B进行排序(升序,用快排,平均复杂度O(N*logN)),设置两个指针p和q,同时指向集合A和集合B的最小值,不相等的话移动*p和*q中较小值的指针,相等的话同时移动指针p和q,并且记下相等的数字,为交集的元素之一,依次操作,直到其中一个集合没有元素可比较为止。  优点:操作简单,容易实现。  缺点:使用的排序算法不当,会耗费大量的时间,比如

2015-12-19 20:20:00 1351

转载 [深入浅出Cocoa]详解键值观察(KVO)及其实现机理

一,前言Objective-C 中的键(key)-值(value)观察(KVO)并不是什么新鲜事物,它来源于设计模式中的观察者模式,其基本思想就是:一个目标对象管理所有依赖于它的观察者对象,并在它自身的状态改变时主动通知观察者对象。这个主动通知通常是通过调用各观察者对象所提供的接口方法来实现的。观察者模式较完美地将目标对象与观察者对象解耦。在 Objective-C 中有两种使用键值观

2015-12-15 23:16:55 575 2

原创 最小的k个数

一、问题描述输入n个整数,找出其中最小的k个数。例如输入4、5、1、6、10、8、12、20这8个数,则最小的4个数字是1、4、5、6。二、解题思路     解法1.最简单的思路莫过于把输入的n个整数排序,排序之后位于最前面的k个数就是最小的k个数。时间复杂度O(nlogn)。这个方法我就不在这里复述了。     解法2.利用上一篇博客http://blog.csdn.net/ja

2015-12-15 16:44:01 355

原创 找数组中第k个最小数

一、面试问题描述给定一个若干个学生的分数数组,数组中的分数是无序的,在该数组中找出其第K个最小的数,例如对于分数数组arr,arr={89,67,69,60,88,83,75,56,96},则其第3个最小的数为67。二、解题思路算法跟快排的思路相似,首先在数组中选取第一个数x=arr[0]为划分的基准,将比x小的数,放到x的前面。将比x大的数,放到x的后面。如果此时x的位置刚好为k,则

2015-12-15 15:43:24 904

转载 github一些开源的工具

1.快速配置表格,不需要写很多item https://github.com/escoz/quickdialog https://github.com/migueldeicaza/MonoTouch.Dialog http://escoz.com/open-source/quickdialog 2.开源项目 http://www.cnblogs.com/likwo/arch

2015-12-14 14:14:32 1962

原创 GCD入门介绍三----线程死锁

GCD确实给iOS开发者提供了很多便利,它的功能也很强大。但相比NSOperation无法提供取消任务以及添加依赖的功能。但GCD如果用的不好或者用的地方不对就会出现线程死锁的情况。我将通过几个例子进行说明:例子1:- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after load

2015-12-11 14:25:18 646

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

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

2015-12-06 14:30:00 456

转载 如何设计一个 iOS 控件?(iOS 控件完全解析)

前言一个控件从外在特征来说,主要是封装这几点:交互方式显示样式数据使用对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内;而一个好的控件除了有对外一致的体验之外,还有其内在特征:灵活性低耦合易拓展易维护通常

2015-12-05 17:35:29 824

原创 ios经典面试题总结--内存管理

最近开始参加一些iOS移动端开发的面试,虽然参加的面试不多。但面试官问的问题大致差不多,我根据自己的情况做了一下总结,答案是我看官方文档还有相关资料总结的,如有答的不好的地方,希望批评指正以及交流,谢谢!一、内存管理1.什么是ARC?ARC是automatic reference counting自动引用计数,在程序编译时自动加入retain/release。在对象被创建时retai

2015-12-03 22:23:54 4470

原创 GCD入门介绍二

一、创建队列和管理队列1.创建串行Dispatch Queue (serial dispatch queue)应用的任务需要按特定顺序执行时,就需要使用串行Dispatch Queue,串行queue每次只能执行一个任务。你可以使用串行queue来替代锁,保护共享资源 或可变的数据结构。和锁不一样的是,串行queue确保任务按可预测的顺序执行。只要你异步地提交任务到串行queu

2015-12-02 21:53:19 697

转载 ffmpeg框架结构解读大全

1、    FFMEPG结构说明    1.1》介绍    ffmpeg(Fast Forward Moving Pictures Experts Group)是音视频的分离,转换,编码解码及流媒体的完全解决方案,其中最重要的就是libavcodec库,是一个集录制、转换、音/视频编码解码功 能为一体的完整的开源解决方案。ffmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统

2015-12-01 11:22:29 635

连续子数组的最大和

从头到尾逐个累加示例数组中的每个数字。初始化和为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关注的人

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