- 博客(15)
- 资源 (6)
- 收藏
- 关注
转载 8行代码教你搞定导航控制器全屏滑动返回效果
一、自定义导航控制器目的:以后需要使用全屏滑动返回功能,就使用自己定义的导航控制器。二、分析导航控制器侧滑功能效果:导航控制器默认自带了侧滑功能,当用户在界面的左边滑动的时候,就会有侧滑功能。系统自带的侧滑效果:分析:1.导航控制器的view自带了滑动手势,只不过手势的触发范围只能在左边。2.当用户在界面左边拖动,就会触发滑动手势方法
2015-12-30 22:19:45 565
原创 第一个只出现一次的字符
题目:在字符串中找出第一个只出现一次的字符。如输入"jingwanlisingsjx",则输出'w'。最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符可能与后面的O(n)个字符相比较,因此这种思路的时间复杂度是O(n2)。更高效的方法是利用少量的空间
2015-12-28 13:56:15 348
转载 iOS应用的crash日志的分析基础
版权声明:本文为博主原创文章,未经博主允许不得转载。Outline如何获得crash日志如何解析crash日志如何分析crash日志 1. iOS策略相关 2. 常见错误标识 3. 代码bug一、如何获得crash日志当一个iOS应用程序崩溃时,系统会创建一份crash日志保存在设备上。这份crash日志记录着应用程序
2015-12-23 16:40:00 299
原创 连续子数组的最大和
题目:输入一个整型数组,数组里面有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为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 503
转载 A、B两个整数集合,设计一个算法求他们的交集,尽可能的高效。
思路1:排序法 对集合A和集合B进行排序(升序,用快排,平均复杂度O(N*logN)),设置两个指针p和q,同时指向集合A和集合B的最小值,不相等的话移动*p和*q中较小值的指针,相等的话同时移动指针p和q,并且记下相等的数字,为交集的元素之一,依次操作,直到其中一个集合没有元素可比较为止。 优点:操作简单,容易实现。 缺点:使用的排序算法不当,会耗费大量的时间,比如
2015-12-19 20:20:00 1389
转载 [深入浅出Cocoa]详解键值观察(KVO)及其实现机理
一,前言Objective-C 中的键(key)-值(value)观察(KVO)并不是什么新鲜事物,它来源于设计模式中的观察者模式,其基本思想就是:一个目标对象管理所有依赖于它的观察者对象,并在它自身的状态改变时主动通知观察者对象。这个主动通知通常是通过调用各观察者对象所提供的接口方法来实现的。观察者模式较完美地将目标对象与观察者对象解耦。在 Objective-C 中有两种使用键值观
2015-12-15 23:16:55 582 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 371
原创 找数组中第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 948
转载 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 1990
原创 GCD入门介绍三----线程死锁
GCD确实给iOS开发者提供了很多便利,它的功能也很强大。但相比NSOperation无法提供取消任务以及添加依赖的功能。但GCD如果用的不好或者用的地方不对就会出现线程死锁的情况。我将通过几个例子进行说明:例子1:- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after load
2015-12-11 14:25:18 655
转载 如何让iOS 保持界面流畅?这些技巧你知道吗
作者:ibireme这篇文章会非常详细的分析 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互。Index1.演示项目2.屏幕显示图像的原理3.卡顿产生的原因和解决方案CPU 资源消耗原因和解决方案GPU 资源消耗原因和解决方案4.AsyncD
2015-12-06 14:30:00 464
转载 如何设计一个 iOS 控件?(iOS 控件完全解析)
前言一个控件从外在特征来说,主要是封装这几点:交互方式显示样式数据使用对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内;而一个好的控件除了有对外一致的体验之外,还有其内在特征:灵活性低耦合易拓展易维护通常
2015-12-05 17:35:29 837
原创 ios经典面试题总结--内存管理
最近开始参加一些iOS移动端开发的面试,虽然参加的面试不多。但面试官问的问题大致差不多,我根据自己的情况做了一下总结,答案是我看官方文档还有相关资料总结的,如有答的不好的地方,希望批评指正以及交流,谢谢!一、内存管理1.什么是ARC?ARC是automatic reference counting自动引用计数,在程序编译时自动加入retain/release。在对象被创建时retai
2015-12-03 22:23:54 4522
原创 GCD入门介绍二
一、创建队列和管理队列1.创建串行Dispatch Queue (serial dispatch queue)应用的任务需要按特定顺序执行时,就需要使用串行Dispatch Queue,串行queue每次只能执行一个任务。你可以使用串行queue来替代锁,保护共享资源 或可变的数据结构。和锁不一样的是,串行queue确保任务按可预测的顺序执行。只要你异步地提交任务到串行queu
2015-12-02 21:53:19 709
转载 ffmpeg框架结构解读大全
1、 FFMEPG结构说明 1.1》介绍 ffmpeg(Fast Forward Moving Pictures Experts Group)是音视频的分离,转换,编码解码及流媒体的完全解决方案,其中最重要的就是libavcodec库,是一个集录制、转换、音/视频编码解码功 能为一体的完整的开源解决方案。ffmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统
2015-12-01 11:22:29 649
连续子数组的最大和
2015-12-23
iOS学习笔记2(结合项目)--Category和Extension的区别
2015-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人