自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码出精彩

学习笔记

  • 博客(52)
  • 资源 (2)
  • 收藏
  • 关注

原创 UINavigationController相关

1.  UINavigationController 视图结构UINavigationController(导航控制器)是一个容器控制器, 其内部展示着多个UIViewController(视图控制器)的内容, 我们可以通过UINavigationController的view属性获取到其自身的视图, 在该视图上有一个位于界面顶部的UINavigationBar(导航栏)和位于界面底部的默认隐

2017-07-07 18:17:26 281

原创 iOS获取照片EXif信息

方法一:知道照片URL//新建CGImageSourceRef对象CGImageSourceRef*imageRef= CGImageSourceCreateWithURL((CFURLRef)imageUrl, NULL);//获取照片信息NSDictionary*imageProperty=(NSDictionary*)CGImageSourceCopyPropertiesAt

2016-08-08 17:22:15 3490

转载 iOS查看崩溃信息

当应用在设备中运行发生崩溃,iOS将记录这些错误日志并且创建了崩溃报告(Crash Report)。崩溃报告中包含了iOS的版本、日期、异常类型、堆栈跟踪以及其他信息。在Xcode中查看崩溃报告当应用还在开发过程中发生了崩溃,则直接可以使用Xcode Organizer来查看崩溃报告。按如下操作:1.打开Organizer;2.选择“Devices”选项(界

2016-08-01 11:16:41 521

原创 2016.7.26

iOS 横屏三种方法:http://www.cnblogs.com/niit-soft-518/p/5611298.htmlhttp://www.tuicool.com/articles/nUJbuuM/

2016-07-26 17:36:29 242

原创 面试题41_2 输入一个正数s,打印所有和为s的连续正数序列(至少两个数)

有了面试题41_1的经验,我们也可以考虑用两个数 small 和 big分别表示序列的最小值和最大值,首先将small=1,big=2;如果small~big的和大于s,small++;如果small~big的和小于S,big++;直到small=(s+1)/2;void printfContinueNumbers(int small,int big){int i;for(

2015-05-21 11:22:12 567

原创 面试题41_1 和为S的数

题目一:在一个递增排序数组里,查找两个数,使他们的和正好为S,有多对输出一对即可。方法一:先在数组中固定一个数,然后判和其余n-1个数的和是否等于S。时间复杂度 O(n^2);方法二:我们先在数组中选择两个数(我们选择数组的第一个和最后一个),如果他们等于S,我们就找到了这两个数,如果小于S,我们将较小的数字换为后面的数字,因为排在后面的数字要大些。如果大于S,我们将较大的

2015-05-21 10:42:29 492

原创 面试题40 数组中只出现一次的数字

题目一:一个数组里除了一个数之外,其他的数都出现了两次,请找出这个数。思想:题目里强调, 一个数字出现了一次,其余的都出现了两次。我们想到异或的一个性质:任何一个数字异或自身等于0.也就是说,如果我们从头到尾异或数组中的每一个数字,那么结果为只出现一次的数字,因为出现两次的数字全部抵消了。void FindNumberAppearOnce(int  data[] ,int

2015-05-21 08:43:23 382

原创 面试题39_2 判断一棵树是不是平衡二叉树

思想一:在求树深度的基础下,对每个节点的左右子树求深度,按照定义,左右子树的深度差不超过1就是平衡二叉树。缺点:需要重复遍历//求树的深度int TreeDepth(BinaryTreeNode* pRoot){if(pRoot == NULL)return 0;int nletf=TreeDepth(pRoot->m_pLeft);int nright=TreeD

2015-05-20 16:58:45 1360

原创 面试题39_1 二叉树的深度

递归思想:如果一颗树只有一个节点,它的深度为1.如果根节点只有左子树没有右子树,那么它的深度为左子树的深度加1,同理,只有右子树没有左子树,它的深度为右子树深度加1,如果既有左子树又有右子树,它的深度为左右子树深度较大的加1。递归很容易实现: int FindTreeDeep(BinTree BT){ if(BT==NULL) return 0; int lchi

2015-05-20 16:05:48 419

转载 面试题38 数字在排序数组找那个出现的次数

例如输入数组{1,2,3,3,3,3,4,5,6}中查找3出现的次数。最为简单的方法就是从头遍历这个数组,统计3出现的次数,可是这样没有利用这是一个排序了的数组这个条件,时间复杂度O(n)。另一种方法就是利用二分查找的算法找到一个3,然后分别向左和向右查找第一个和最后一个3所在的位置,这样虽然比第一种方法效率提高了,但是当最坏的情况时,即数组中所有的元素都是3时,这样时间复杂度依然

2015-05-20 15:39:35 635

转载 面试题49 把字符串转换为整数

【题   目】输入一个表示整数的字符串,把该字符串转换成整数并输出。例如:输入“123”,输出整数123.  【思   路】当然首先想到的就是C语言库函数atoi,一行代码就完事了,当然我们是想不借助该库函数来实现自己的算法。首先,我们考虑怎么把字符串转换成整数,我们输入“123”,我们可以遍历这个字符串,首先读入1,然后读到2,这时我们想要的是12=1×10+2;然后读入3,我们想要的是

2015-05-20 15:23:25 354

原创 面试题50 树中两个节点的最低公共祖先LCA(Lowest Common Ancestor )

题目是树的最低公共祖先,我们先来考虑树是什么树?我们从最简单的情况开始分析。情况一:是二叉树,且是二叉搜索树(二叉排序树,二叉查找树)分析:由于二叉排序树具有这样的特点:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。所以我们只需要从树的根节点开始和输入的两

2015-05-20 09:58:55 824

转载 XMPP详解

XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。  XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;

2015-05-19 18:24:09 664

转载 Xcode文档

Xcode文档的结构如上图,打开后,整个文档界面有左面的侧栏和右面的内容区域构成。左面的侧栏可以选择不同的文档库。你的Xcode里面一般来说有一组不同版本的iOS文档库、一组不同版本的OS X文档库,以及一个Xcode文档库。如果你这里没有你要查看的文档库,你可以选择Xcode的Preferences菜单,然后选择Downloads -> Documentation。在这里

2015-05-18 11:04:30 323

转载 NSNotification、delegate和KVO的区别

1.效率肯定是delegate比nsnotification高。2. delegate方法比notification更加直接,最典型的特征是,delegate方法往往需要关注返回值, 也就是delegate方法的结果。比如-windowShouldClose:,需要关心返回的是yes还是no。所以delegate方法往往包含 should这个很传神的词。也就是好比你做我的delegate,我会

2015-05-14 19:09:14 247

转载 iOS开发资源总汇

如何用Facebook graphic api上传视频:http://developers.facebook.com/blog/post/532/Keychain保存数据封装:https://github.com/carlbrown/PDKeychainBindingsController对焦功能的实现:http://ww

2015-05-14 18:08:27 433

转载 UI随设备旋转从iOS6到iOS8的适配策略

123456- (void)statusBarOrientationChange:(NSNotification *)notification{    WClassAndFunctionName;    UIInterfaceOrientation oriention = [UIApplication sh

2015-05-14 18:05:40 483

转载 KVO

最近老翁在项目中多处用到了KVO,深感这种模式的好处。现总结如下:一、概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。KVO其实也是“观察者”设计模式的一种应用。我的看法是,这种模式有利于两个类间的解耦合,尤其是对于

2015-05-14 11:05:03 294

原创 Objective-C设置修改对象属性方法总结

方法一:手动编写相应的set和get方法// Person.h#import @interface Person : NSObject{ //声明一个变量 int myNumber;}-(int)myNumber; //get方法-(void)setMyNumber:(int)_number; //set方法-(void)printf;@end

2015-05-14 10:08:33 654

转载 Objective-C内存管理

OC内存管理一、基本原理(一)为什么要进行内存管理。由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。管理范围:任何继承NSObject的对象,对其他的基本数据类型无效。本质原因是因为对象和其他数据类型在系统中的存

2015-05-13 11:34:27 317

原创 Objective-C static 类方法

1,与c++ java不同,oc语法是不支持类的静态变量的。static只能修饰局部变量、全局变量和函数,用类方法代替了静态方法。类方法就是类的静态方法,直接使用类名调用,类方法中是不能访问类的成员变量的。因为静态方法是不能够操作成员变量的。static修饰局部变量表示将该局部变量存储到静态存储区;修饰全局变量用于限制该全局变量只能在当前文件中访问;修饰函数用于限制该函数只能在当前

2015-05-13 10:16:05 2323

原创 Objective-C self关键字

@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    [self test3];    [ViewController test4];   //在实例方法中只能用类名 调用类方法}-(void)test1{    NSLog(@"dong tai");}

2015-05-13 09:27:11 311

原创 view在UIViewController中的生命周期

从图中可以看出:View的生命周期从ViewDidLoad 开始。UIViewController类或其子类会在初始化时创建一个UIView对象,会作为控制器的默认视图显示出来,可以通过self.view寻址访问。但没有调用loadView方法时,self.view=nil。loadView在每一次使用self.view这个property,并且self.view为nil的时候被调用,用以产生

2015-05-12 20:26:45 237

转载 二叉排序树

二叉排序树二叉排序树又称“二叉查找树”、“二叉搜索树”。二叉排序树:或者是一棵空树,或者是具有下列性质的二叉树:1. 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;2. 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;3. 它的左、右子树也分别为二叉排序树。 二叉排序树通常采用二叉链表作为存储结构。中序遍历二叉排序树可得到一

2015-05-09 10:58:11 653

原创 MVC设计模式

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

2015-05-09 09:43:56 628

转载 iOS单例模式(单例类)

单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。1.单例模式的要点:显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。2.单例模式的优点:1.实例控制:Singleton会阻止其他对象实例化其自己的 Singleton对象的副本,从

2015-05-09 09:10:42 1053

转载 Segue区别及视图的切换

一、视图切换类型介绍在storyboard中,segue有几种不同的类型,在iphone和ipad的开发中,segue的类型是不同的。在iphone中,segue有:push,modal,和custom三种不同的类型,这些类型的区别在与新页面出现的方式。而在ipad中,有push,modal,popover,replace和custom五种不同的类型。1.modal 模态转

2015-05-08 16:54:45 314

转载 从输入网址到显示页面:浏览器工作原理拆解分析

1. 首先嘛,你得在浏览器里输入网址:2. 浏览器查找域名的IP地址导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下:浏览器缓存 – 浏览器会缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。系统缓存 – 如果在浏览器缓存里没有找到需要的记录,

2015-05-08 16:43:30 434

转载 Objective-C中的属性

1,assign :简单赋值,不更改索引计数假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b。此时a 和b指向同一块内存,请问当a不再需要这块内存,能否直接释放它?答案是否定的,因为a并不知道b是否还在使用这块内存,如果a释放了,那么b在使用这块内存的时候会引起程序crash掉 应用

2015-05-08 16:14:07 215

转载 Objective-C协议和委托

委托和协议是两个概念,协议实际上相当于C++中的纯虚类的概念,只定义并只能由其它类来实现。而委托类似于Java中的接口。(Objective-C实现委托这种机制是利用协议来实现的,这种说法我现在认为是不对的,理由下述:)。在ObjC中使用@protocol定义一组方法规范,实现此协议的类必须实现对应的方法。熟悉面向对象的童鞋都知道接口本身是对象行为描述的协议规范。Objecti

2015-05-08 15:36:36 416

转载 Objective-C类别(catagory)

在编写面向对象的程序时,你经常希望向现有的类添加一些新的行为:你总是能够为对象提供使用这些新方法的新手段。当希望为现有的类增加新行为时,我们通常会创建子类,但是有时候子类并不方便。例如,你可能会希望为NSString类增加一些新行为,但是你知道NSString实际上只是一个类簇的前台表示,因而无法为这样的类创建子类。在其他情况下,你也许可以创建子类但你使用的却是工具包或类库,因为又无法处理新类的对

2015-05-08 14:57:46 477

原创 Objective-C动态绑定和多态

一、什么是多态1.概念:相同接口,不同的实现来自不同类可以定义共享相同名称的方法。动态类型能使程序直到执行时才确定对象所属类型动态类型绑定能使程序直到执行时才确定要对对象调用的实际方法2.Objective-C不同于传统程序设计语言,它可以再运行时加入新的数据类型和新的程序模块:动态类型识别,动态绑定,动态加载3.id类型:通用指针类型,弱类

2015-05-07 16:31:07 546

原创 Objective-C继承

我们可以通过对父类的继承实现一定的扩展,继承主要有以下几种典型的用法:1 代码复用。.两个类有部分相同的代码,那相同的部分我们就没必要去复制粘贴,完全就可以把公共的部分放在父类中,子类去继承,只需要实现一次相同的部分即可。2.创建协议类。父类为子类规定了一些方法,哪怕是空的,但我们可以默认为父类为他的子类创建了一种协议,当不同的类实现同名的方法的时候,程序就可以采用多态的设计。3.通用

2015-05-07 15:34:40 354

转载 Objective-C内存管理

Obj-C中的内存管理不同于C语言式的完全手动管理方式,malloc和free操控内存,也不同于GC(Gabage Collection)语言(例如java&ruby等)的自动回收方式,在Obj-C中的内存管理方式采用的是比较折中的方式,也就是手动和半自动结合,采用自动对象释放池进行自动管理或者采用引用计数值进行手动管理。1.      引用计数值至于为什么要进行内存管理,这里

2015-05-07 14:59:58 233

转载 Objective-C数据类型

一、  数据类型Obj-C是C语言的超集,之前我们都知道了,所以Obj-C中的数据类型分为两种:一种是基于C语言的基本数据类型;另一种是Obj-C特殊的数据类型。1.  C语言基本数据类型Obj-C基于C语言的基本数据类型有:int,float,double和char,那么我们来看下书上的一个比较全面的例子,包括各个类型的赋值和输出。[plain] view p

2015-05-07 14:30:35 286

转载 Objective-C基础知识导航

Obj-C中的对象、类和方法Obj-C语言语法基本介绍Obj-C的数据类型和表达式Obj-C的循环语句Obj-C的条件语句Obj-C的内存管理Obj-C的继承Obj-C的多态性、动态类型和动态绑定Obj-C的类别和协议Obj-C的属性Obj-C的快速枚举Obj-C++

2015-05-07 14:21:01 266

转载 cocos2d基础介绍

cocos2d中,大量使用了单例(singleton)模式,单例其实就是一个普通的类,但是它在整个应用程序生命周期内只实例化一次,cocos2d中,要访问单例对象,基本上都是使用shared开头的方法(目前为止,我没有发现过有不这样使用的单例)。如果你还没看懂单例是什么,那么看看下面这个例子你就知道了。static MyManager *shareManager = nil;+(MyM

2015-04-20 18:03:34 423

转载 Cocoa框架总结

Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助。1、Cocoa是什么?Cocoa是OS X和 iOS操作系统的程序的运行环境。是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发中你可以使用各种语言;也不是开发工具,你可以在命令行上就可以创建 Cocoa程序。Cocoa程序可以这么说,它是由一些对象组成,而这些

2015-04-20 11:52:41 585

转载 UIResponder

1.- (UIResponder *)nextResponder  返回接收者的下一个相应,如果没有就返回nilUIResponder类不自动存储和设置下一个响应者,而是默认返回nil。子类必须override这个方法来设置下一个响应者。UIView实现了这个方法,因为可以返回管理这个UIView的UIViewController或者它的父类;UIViewContr

2015-04-20 11:06:50 211

转载 iOS响应链

IOS - 响应者链条简单来说就是:一级一级的找到响应的视图,如果没有就传给UIWindow实例和UIApplication实例,要是他们也处理不了,就丢弃这次事件...对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。对应的事件类型有以下三种:1、触屏事件(Touch Event)2、运动事件(Motion Event

2015-04-20 10:34:49 414

linux系统管理

linux命令大全,涵盖linux下的各种命令及解释,一看就明白

2012-04-14

单片机ppt应用

单片机的应急ask连发卷阿胜境gas个sdjaglgajsdg分离式的感觉两个

2012-03-08

空空如也

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

TA关注的人

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