自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(29)
  • 收藏
  • 关注

转载 Cookie/Session机制详解

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1  Cookie机制

2014-08-11 16:43:54 503

转载 iOS RunLoop 初识

今天突然才之间才意识到NSTimer这样的运行方式,是在多线程中实现的循环还是在主线程中去实现的呢。当然不可能是在主线程中的while那么简单,那样什么都干不了,简单看了下NSTimer是以同步方式运行的。时间到了,消息发出后,ontimer的函数是在主线程上调用的。我们会经常看到这样的代码:- (IBAction)start:(id)sender  {  pageStil

2014-07-23 15:52:34 470

转载 Responder Chain简析

一.responder对象在iOS系统中,能够响应并处理事件的对象称之为responder object, UIResponder是所有responder对象的基类,在UIResponder类中定义了处理各种事件,包括触摸事件(TouchEvent)、运动事件(Motion Event)和远程控制事件(Remote-Control Events)的编程接口,其中处理触摸事件(Touch

2014-07-23 14:59:43 543

转载 CALayer

http://blog.csdn.net/totogo2010/article/details/86050921、什么是CALayerCALayer是个简单的类,它是用来在屏幕上显示内容展示的矩形区域。 靠,这是不描述UIView的话吗?其实他们是有区别的。每个UIView都有一个根CALayer,UIView在这个layer上描绘东西。那怎么访问这个layer呢,很简

2014-06-23 12:37:45 504

转载 <NSCoding>存储数据 archivedDataWithRootObject unarchiveObjectWithData

当你于写数据需要本地存储时,即将你的数据写到硬盘上的时候,你就必须对他进行序列化,转换成二进制文件,从而便于在磁盘上的读写,同理在取出的时候必须将其在反序列化,这样才能将数据读出来,就好比加密和揭秘的过程。NSUserDefaults只支持: NSString, NSNumber, NSDate, NSArray, NSDictionary.如果把一个自定义的类存到一个NSArray

2014-06-18 09:36:44 9063

转载 scrollview的contentSize

contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。contentOffset是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,

2014-06-17 13:58:36 915

转载 block 使用注意事项

Block编程值得注意的那些事儿一,前言 block 是在 iOS 4 中引入的新特性,它和 C++ 11 中的 lamba 表达式概念相似,有时候也被称为闭包。经过一段时间的使用,我发现要用对用好 block 还是有不少需要注意的地方,今天就来八一八这些值得注意的事儿。  本文源码下载:点此下载  二,block 注意事项 1,block 在实现时就会

2014-06-17 12:24:50 5514

转载 oc block解析

Block的好处,我总结了下主要有2点:1.用于回调特别方便,2.可以延长对象的作用区域。但是,Block的内存管理这个模块一直不是很清楚,这个周末好好的看了下Block的原理,有些许心得。为了性能,默认Block都是分配在stack上面的,所以它的作用区域就是当前函数。#include int main(){ int i = 1024; void (^b

2014-06-12 10:09:09 1512

转载 IOS 用封装API AsyncSocket进行网络通信

AsyncSocket是一个用Object-c封装好的网络通讯API,调用方便,容易实现使用AsyncSocket可以很方便的与其它系统进行Socket通信, AsyncSocket包括TCP和UDP,通过实现委托AsyncSocketDelegate进行交互。下面是TCP通讯API 下载地址 :点击下载首先,调用此API时需先引入CFNetWork.fra

2014-06-09 11:15:28 17310 4

转载 FMDB

由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍。与此同时,把SQLite的文档页 加到你的书签中。自动引用计数(APC)还是手动内存管理呢? 两种都行,FMDB会在编译的时候知道你是用的哪一种,然后进行相应处理。 使用方法 FMDB有三个主要的类1.FMDatabase – 表示一个单独的SQLite数据库。 用来执行SQLite的命令

2014-06-06 14:46:05 579

转载 NSString,NSMutableString使用retain, copy理解

一直以为copy就是深拷贝,会产生一个新的对象,指针和内容都是新的,retain只是引用计数+1。今天测试代码的时候发现一个问题,再经仔细一测,才发现不是这么回事.[objc] view plaincopyint main(int argc, charchar *argv[])  {      NSString *str = 

2014-05-29 17:09:07 596

转载 对比iOS中的四种数据存储

你是用什么方法来持久保存数据的?这是在几乎每一次关于iOS技术的交流或讨论都会被提到的问题,而且大家对这个问题的热情持续高涨。本文主要从概念上把“数据存储”这个问题进行剖析,并且结合各自特点和适用场景给大家提供一个选择的思路,并不详细介绍某一种方式的技术细节。谈到数据储存,首先要明确区分两个概念,数据结构和储存方式。所谓数据结构就是数据存在的形式。除了基本的NSDictionary、NSA

2014-05-29 10:53:51 800

转载 通过实现一个 TableView 来理解 iOS UI 编程

先说点题外话。我们在日常做和IOS的UI相关的工作的时候,有一个组件的使用频率非常高–UITableView。于是就要求我们对UITableView的每一个函数接口,每一个属性都了如指掌,只有这样在使用UITableView的时候,我们才能游刃有余的处理各种需求。不然做出来的东西,很多时候只是功能实现了,但是程序效率和代码可维护性都比较差。举个例子,比如在tableView头部要显示一段文字。我见

2014-05-28 17:54:37 2791

转载 ios layout机制相关方法

ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————-- (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout——————–- (void)setNeedsDispla

2014-05-16 19:50:44 1780

原创 如何加强 iOS 里的列表滚动时的顺畅感

如果你想要如丝般顺滑的效果,那么:1、每次都看一下有没有能重用的 cell,而不是永远重新新建(这个是 UITableView 的常识)2、Cell 里尽量不要用 UIView 而是全部自己用 drawRect 画(之前因为 iOS 有 bug,这样做会有性能上质的飞越。也有很多大神写过很多文章解释原理,有兴趣的自己去看看吧我就不做复制粘贴了。后来 iOS 也改掉了这个问题,这么做的效果就

2014-05-16 09:45:04 864

转载 UITableView 滚动流畅性优化

1、 在代理方法中做了过多的计算占用了 UI 线程的时间2、同上3、Cell 中 view 的组织复杂关于第一点,首先要明白 tableview 的代理(这里指 datasource 和 delegate 的那套方法,下同)方法的调用顺序,和时机。对于一般的应用会有如下顺序:1、向代理要 number Of Rows。2、对于每行向代理要 height For Ro

2014-05-16 09:17:41 3338

转载 Objective-C ---分布式对象

远程消息和其他语言一样,Objective-C语言最初设的设计也是针对在同一地址空间中执行的单一进程而设计的。 然而,在面向对象的模型中,通信是运行时在相对自我包含的单元之间通过消息的方式来进行的。这种方式看起来很适合进程间的通讯。因此,不同地址空间中的对象互发消息或者是执行同一任务的不同线程之间互发消息都是不难想象的。 例如,在典型的服务器-客户端交互时,

2014-05-15 19:26:07 562

转载 category

#import #import #import

2014-05-15 15:46:37 484

转载 iOS 开源项目list

UI界面类项目:Panoramagl —— 720全景展示Panorama viewer library for iPhone, iPad and iPod touch MBProgressHUD —— 进度指示一种优雅的,半透明的进度显示效果。同时还提供了其他附加功能,比如显示完成信息并淡出。iCarousel  —— 效果很酷的分页排列

2014-05-07 11:03:59 2928

转载 IOS中属性与成员变量的区别

一、类Class中的属性property  在ios第一版中,我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如:@interface MyViewController :UIViewController{ UIButton *myButton;}@property (nonatomic, reta

2014-05-06 09:45:22 690

转载 ios view的frame和bounds之区别(位置和大小)

一、首先列一下公认的资料:先看到下面的代码你肯定就明白了一些:-(CGRect)frame{    return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height);}-(CGRect)bounds{    return CGRe

2014-04-29 14:30:56 410

转载 NSTimer

看到这个标题,你可能会想NSTimer不就是计时器吗,谁不会用,不就是一个能够定时的完成任务的东西吗?  我想说你知道NSTimer会retain你添加调用方法的对象吗?你知道NSTimer是要加到runloop中才会起作用吗?你知道NSTimer会并不是准确的按照你指定的时间触发的吗?你知道NSTimer就算添加到runloop了也不一定会按照你想象中的那样执行吗?  如果上面提

2014-04-25 17:29:26 471

转载 Block:内存管理与其他特性

一、block放在哪里我们针对不同情况来讨论block的存放位置:1.栈和堆以下情况中的block位于堆中:1234567891011121314151617voidfoo(){

2014-04-25 11:03:23 547

转载 GCD介绍(一): 基本概念和Dispatch Queue

什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。除了代码的平行执行能力,GC

2014-04-25 10:40:18 511

转载 What's the nicest way to do observer/observable in objective-c (iphone version)

There are two built-in ways of doing observation in Cocoa: Key-Value Observing and notifications. In neither system do you need to maintain or notify a collection of observers yourself; the framework

2014-04-24 18:04:55 570

转载 storyboard之 prepareForSegue:sender:

在谈到storyboard时,我们多次强调, storyboard 解决的是页面之间的跳转问题。 一个颇为复杂的页面跳转,一旦使用了storyboard,就会四两拨千斤。你只需简单地拖拽,即可完成UIViewController 之间的跳转。 这里面有个神器,一个极为重要的method,它就是:     prepareForSegue:sender:从method 简略的表达式,一眼就可看

2014-04-24 18:03:08 30636 2

转载 iOS7.0 使用ARC

1 ARC是IOS5.0以后才支持,IOS7.0以后,强制使用ARC2 ARC Automatic Refercences Counting3 原理 依然使用引用计数器来管理内存,只是引用计数器的操作方式不同,由程序员发送消息转换为编译器帮我们发送消息,会在合适的位置自动加入retain、release、autorelease消息来进行计数管理,ARC是一种编译期语法。4 使用AR

2014-04-24 10:35:12 2010

转载 IOS,objective_C中用@interface和 @property 方式声明变量的区别

一直有疑问,在objective_C中声明变量会有 2种方式,今天有空和网友讨论了下,并且自己查了stackoverflew后算是稍微弄懂了一点。记录如下:      用了一段oc;会发现有2种定义变量的方式      1.在  @interface :NSObject{} 的括号中,当然NSObject 是指一个父类,可以是其他的。      形式如下:1 @in

2014-04-23 14:49:03 3147

转载 iOS 开发之Target-action模式

Target-action:目标-动作模式,它贯穿于iOS开发始终。但是对于初学者来说,还是被这种模式搞得一头雾水。其实Target-action模式很简单,就是当某个事件发生时,调用那个对象中的那个方法。如:按下按钮时,调用Controller里边的click方法。“那个对象”就是Target,“那个方法”就是Action,及Controller是Targer,click方法是actio

2014-04-23 14:40:07 10983

空空如也

空空如也

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

TA关注的人

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