自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (3)
  • 收藏
  • 关注

转载 ios6新特性

1、地图    iOS6抛弃了一直用的google map,而使用了自家的地图服务。相应地,MapKit框架也自然变成和Apple自家的地图服务绑定了。随之而来的好处是因为都是自家的内容,所以整合和开放会更进一步,第三方app现在有机会和地图应用进行交互了。也就是说,不使用自身搭载地图信息的app现在可以打开地图应用,并且显示一些感兴趣的路线和地点,这对于路线规划和记录类的应用来说这是个好

2013-03-26 18:53:31 544

转载 Objective-c方法调用流程

Objective-c是一门动态语言,动态两个字主要就体现在我们调用方法的时候,运行时回动态的查找方法,然后调用相应的函数地址。运行时是整个Objective-c程序的基石,有了它我们的程序才能正常运行起来。  NSObject是Cocoa中绝大部分类的基类,它主要是提供了序列话,拷贝对象,以及支持运行时动态识别的框架。  在Objective-c中每一个类对象最开始的位置都会有一

2013-01-23 17:00:22 523

转载 UITabBarController使用详解

UITabBarController是IOS中很常用的一个viewController,例如系统的闹钟程序,ipod程序等。UITabBarController通常作为整个程序的rootViewController,而且不能添加到别的container viewController中。  首先我们看一下它的view层级图:一、手动创建UITabBarController

2013-01-23 16:55:17 423

转载 IOS 四种保存数据的方式

在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题。将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好。下面介绍一下数据保存的方式:1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。前一个方法告

2012-12-26 23:06:10 462

转载 Sqlite数据库多线程并发问题

(7) 多个应用程序或者同一个应用程序的多个例程能同时存取同一个数据库文件吗?多进程可以同时打开同一个数据库,也可以同时 SELECT 。但只有一个进程可以立即改数据库。SQLite使用读/写锁定来控制数据库访问。(Win95/98/ME 操作系统缺乏读/写锁定支持,在低于 2.7.0 的版本中,这意味着在 windows 下在同一时间内只能有一个进程读数据库。在版本 2.7.0

2012-12-12 19:22:18 13906

转载 NSCondition的用法

使用NSCondition,实现多线程的同步,即,可实现生产者消费者问题。基本思路是,首先要创建公用的NSCondition实例。然后:消费者取得锁,取产品,如果没有,则wait,这时会释放锁,直到有线程唤醒它去消费产品;生产者制造产品,首先也是要取得锁,然后生产,再发signal,这样可唤醒wait的消费者。- (IBAction)conditionTest:

2012-12-12 18:27:14 607

转载 [译]ios开发之处理流错误

译自:Handling Stream Errors通常情况下,特别是与sockets相关联时,streams会遇到错误从而不能进一步处理stream data。一般情况下,错误提示了在流的一端缺失了东西,比如说远程主机的crash,正在使用的文件被删除等等。在此情况下,客户端能够做的就是将这些错误提示给用户,尽管一个stream object在上报错误之后,在它关闭之前仍然可以查询它的

2012-12-06 15:55:28 1358

转载 [译] ios开发之向输出流写数据

译自:Writing To Output Streams使用NSOutputStream实例需要以下几个步骤:1,使用存储写入数据的存储库创建和初始化一个NSOutputSteam实例,并且设置它的delegate。2,将这个流对象布置在一个runloop上并且open the stream。3,处理流对象向其delegate发送的事件消息。4,如果流对

2012-12-06 15:53:23 517

转载 [译]ios开发之从输入流里读入数据

原文:Reading From Input Streamsios cocoa 编程,从NSInputStream中读入数据包括几个步骤:1.从数据源创建和初始化一个NSInputStream实例2.将输入流对象配置到一个run loop,open the stream3. 通过流对象的delegate函数处理事件4. 当所有数据读完,进行流对象的内存处理

2012-12-06 15:50:37 649

转载 [译]ios开发之streams概览

译自:Cocoa Streams流是位数据通过通信路径的连续传送序列。它是单向的,从一个应用程序的角度,流可以是输入流(读操作流)或者输出流(写操作流),除了基于文件的流之外,其余的都是non-seekable的。一旦流数据被提供或者被使用,数据就不能够从流中获取到。Cocoa包括三种与流有关的类:NSStream,NSInputStream,NSOutputStrea

2012-12-06 14:38:13 461

转载 CABasicAnimation animationWithKeyPath 一些规定的值(Layer层动画)

CABasicAnimation animationWithKeyPath TypesWhen using the ‘CABasicAnimation’ from the QuartzCore Framework in Objective-C, you have to specify an animationWithKeyPath. This is a long string and is n

2012-11-29 16:13:13 370

转载 GCD介绍(转)

GCD介绍(一): 基本概念和Dispatch QueueGCD提供很多超越传统多线程编程的优势:易用: GCD比之thread跟简单易用。由于GCD基于work unit而非像thread那样基于运算,所以GCD可以控制诸如等待任务结束、监视文件描述符、周期执行代码以及工作挂起等任务。基于block的血统导致它能极为简单得在不同代码作用域之间传递上下文。效率: GCD被实现得

2012-11-06 18:49:06 609

转载 UIApplicationDelegate 代理函数调用的时间(应用程序生命周期)

UIApplicationDelegate 包含下面几个函数监控应用程序状态的改变:– applicationDidBecomeActive:– applicationWillResignActive:– applicationDidEnterBackground:– applicationWillEnterForeground:– applicationWillTermina

2012-10-25 16:29:12 562

转载 详解iOS生命周期

iOS应用程序的生命周期相比 Android 应用程序的生命周期来说,没那么简明易懂,但是也并不复杂。iOS应用程序的生命周期又根据系统是否支持多线程分为两种:不支持多线程的iOS4之前的系统以及支持多线程的iOS4及其之后的系统。iOS4 之前系统,app的生命周期图如下所示:感谢 [email protected] 提供如错详细的图,并以cc许可发布。从图中我们可

2012-10-25 16:14:41 354

转载 SQLite在多线程环境下的应用

文一SQLite的FAQ里面已经专门说明,先贴出来。供以后像我目前的入门者学习。(7) 多个应用程序或者同一个应用程序的多个例程能同时存取同一个数据库文件吗?多进程可以同时打开同一个数据库,也可以同时 SELECT 。但只有一个进程可以立即改数据库。SQLite使用读/写锁定来控制数据库访问。(Win95/98/ME 操作系统缺乏读/写锁定支持,在低于 2.7.0 的版本中

2012-10-12 16:29:34 452

转载 CoreData介绍

1. CoreData数据库简介:CoreData 是mac平台和ios平台都有的数据库操作框架(本身不是数据库),一种类似关系数据库的东西,ios平台的coredata的数据库可以配置为sqlite,xml数据库等。CoreData提供图形界面创建model,并且可以直接生成object-c类CoreData使用NSPredlicate来代替sql语句查询数据库,直接更改数据模型属性

2012-10-11 16:31:58 534

转载 NSNotificationCenter 的使用

1,定义一个方法-(IBACtion)shuchu{ }2,对象注册,并附带信息[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(shuchu) name:@"Method" object:nil]3,发送通知信息[[NSNotificationCenter defaultCenter

2012-09-28 18:58:09 542

转载 不错的多线程NSThread讲解

多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c虽然源于c,但其多线程编程却相当简单,可以与java相媲美。这篇文章主要从线程创建与启动、线程的同步与锁、线程的交互、线程池等等四个方面简单的讲解一下iphone中的多线程编程。一、线程创建与启动 线程创建主要有二种方式:- (id)init; // designated initializer- (i

2012-09-28 17:04:12 373

转载 iOS的runtime

1. 什么是runtime运行时刻是指一个程序在运行(或者在被执行)的状态。也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻。在一些编程语言中,把某些可以重用的程序或者实例打包或者重建成为"运行库"。这些实例可以在它们运行的时候被连接或者被任何程序调用。程序员有时候会在什么东西应该在编译的时候加载进来以及什么东西该在运行的时候使用之间做出抉择,前者有时候成为编译时

2012-09-28 16:53:25 487

转载 NSOperationQueue和NSOperation的使用方法

首先是建立NSOperationQueue和NSOperations。NSOperationQueue会建立一个线程管理器,每个加入到线程operation会有序的执行。NSOperationQueue *queue = [NSOperationQueue new]; NSInvocationOperation *operation = [[NSInvocationOperation al

2012-09-28 16:46:28 444

转载 死锁的四个必要条件

操作系统中有若干进程并发执行,它们不断申请、使用、释放系统资源,虽然系统的进程协调、通信机构会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能继续运行,否则就阻塞的情况。此时,若不借助外界因素,谁也不能释放资源,谁也不能解除阻塞状态。根据这样的情况,操作系统中的死锁被定义为系统中两个或者多个进程无限期地等待永远不会发生的条件,系统处于停滞状态,这就是死锁。产生死锁

2012-09-28 15:33:28 500

转载 iOS ARC也会有内存泄露

iOS提供了ARC功能,很大程度上简化了内存管理的代码。但使用ARC并不代表了不会发生内存泄露,使用不当照样会发生内存泄露。下面列举两种内存泄露的情况。1,循环参照A有个属性参照B,B有个属性参照A,如果都是strong参照的话,两个对象都无法释放。这种问题常发生于把delegate声明为strong属性了。例,@interface SampleViewControll

2012-09-27 14:56:57 658

转载 异步和多线程的区别

一、异步和多线程有什么区别?其实,异步是目的,而多线程是实现这个目的的方法。异步是说,A发起一个操作后(一般都是比较耗时的操作,如果不耗时的操作 就没有必要异步了),可以继续自顾自的处理它自己的事儿,不用干等着这个耗时操作返回。.Net中的这种异步编程模型,就简化了多线程编程,我们甚至都不 用去关心Thread类,就可以做一个异步操作出来。二、随着拥有多个硬线程CPU(超线程、双核)的

2012-09-26 18:34:16 820

转载 AsyncSocket实现tcp/ip的通讯协议

客户端: 1 添加CFNetwork.framework到工程中 2 拖动AsyncSocket.h 和 AsyncSocket.m 到工程 3 然后实现方法 SocketDemoViewController.h #import #import "AsyncSocket.h" #define SRV_CONNECTED 0 #define SRV

2012-09-25 14:37:35 682

转载 ASIHTTPRequest 详解

ASIHTTPRequest 是一款极其强劲的 HTTP 访问开源项目。让简单的 API 完成复杂的功能,如:异步请求,队列请求,GZIP 压缩,缓存,断点续传,进度跟踪,上传文件,HTTP 认证。在新的版本中,还加入了 Objective-C 闭包 Block 的支持,让我们的代码加轻简灵活。下面就举例说明它的 API 用法。发起一个同步请求同步意为着线程阻塞,在主线程中

2012-09-25 14:10:32 250

转载 ASIHTTPRequest类库简介和使用说明

官方网站: http://allseeing-i.com/ASIHTTPRequest/ 。可以从上面下载到最新源码,以及获取到相关的资料。使用iOS SDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且使用起来非常简单的一套API,用Objective-C编写,可以很好的应用在Mac OS X系统和iO

2012-09-25 14:06:03 320

转载 AsyncSocket介绍和示例

转自:http://www.iteye.com/topic/993392假如你也是一个java程序员,而你又不是很懂Socket。下面我的这篇文章也许能帮助你一些。http://xiva.iteye.com/blog/993336首先我们写好上面文章中的server端。下面我们可以访问一下下面的地址:http://code.google.com/p/co

2012-09-25 13:45:30 503

转载 ios数据存储小结

首选项设置存储NSUserDefaults 以及通过它控制的SettingBundle NSUserDefaults 用来保存一些设置,他会自动写到何时的位置。NSUbiquitousKeyValueStore 多平台同步设置,限制是大小64k,开启entitlement,唯一Apple ID(还要考虑无法连接到iCloud网络时的情形)文件存储一.目录描述/AppName.a

2012-09-19 16:11:08 548

转载 Objective-C 的方法原型及重载和覆盖

毫无疑问,Objective-C 也是一种面向对象语言,那么面向对象有三个基本特征(封装、继承、多态)。重载似乎与这三大特征没多大关系,方法覆盖才预示着多态。但重载还是与覆盖有一定的关联,它们都要求你能识别出方法的原型,这就引出方法原型与重载的关系。Objective-C 与最常见的语言如,C++、C#、Java 在这方面是不同的,我们知道,Java、C++ 和 C# 识别方法原型是依据于

2012-09-18 17:17:33 1030

转载 Objective-C 的 self 和 super 详解

在 Objective-C 中的类实现中经常看到这两个关键字 ”self” 和 ”super”,以以前 oop 语言的经验,拿 c++ 为例,self 相当于 this,super 相当于调用父类的方法,这么看起来是很容易理解的。以下面的代码为例:@interface Person:NSObject {NSString* name;}- (void) setName:(NSSt

2012-09-18 16:52:24 695

转载 多线程相关的代码

Obj-C 中与多线程相关的类有 NSOperation、NSOperationQueue 和 NSThread。NSOperation 类似与 Java 的 Runnable 接口,只是要实现的 NSOperation 的方法是 -(void) main; 当把 NSOperation 加到 NSOperationQueue 后,队列就会为每个 NSOperation 实例分配一个 NSThre

2012-09-18 16:49:32 315

转载 NSNotificationCenter 的使用详解

直接上链接:http://unmi.cc/nsnotificationcenter-usage

2012-09-18 16:37:26 257

转载 UIView官方文档翻译(来源于网络)

原文就不贴了,直接看原文链接吧:http://unmi.cc/knowledges-on-uiview特别标记下: frame, bounds和center属性之间的关系视图对象使用frame, bounds和center属性来跟踪它的尺寸和位置:frame属性包含了frame矩形,指定了在父视图坐标系统中该视图的尺寸和位置。center属性包含了在父视

2012-09-18 16:33:59 606

转载 强制退出Mac程序的六种方法

用电脑时间长了,难免会遇到程序卡住,风火轮狂转不停,没有任何相应等情况。可能是由于程序冲突、缓存不足或者一些bug等情况导致,这个时候我们就需要强制退出这个程序了,下面有六种在Mac系统中强制退出程序的方法,大家至少应该记住一两个。1、使用键盘快捷键强制退出处于活跃状态的Mac程序快捷键:Command+Option+Shift+Esc这样按住一两秒钟,就可以强制退出当前程序了,算是最方便

2012-09-18 15:53:05 385

转载 ios开发:Objective-C的singleton模式

本文主要介绍了iOS开发模式中的singleton模式,如果你准备写一个类,希望保证只有一个实例存在,同时可以得到这个特定实例提供服务的入口,那么可以使用单态设计模式。单态模式在Java、C++中很常用,在Cocoa里,也可以实现。但是,Objective-C的单例模式绝对和你所想象不一样,他的写法和你所见过的所有语言的写法都不一样。官方建议,由于自己设计单态模式存在一定风险,主要是考虑到可能

2012-09-18 15:22:40 547

转载 打包应用程序

过程介绍的很详细,具体内容请查看:iOS开发27:打包应用程序http://my.oschina.net/plumsoft/blog/77514PS:博主原创文章的例子写得很详细,推荐ios新手学习。博客链接:http://my.oschina.net/plumsoft

2012-09-14 15:34:51 259

转载 ios中的MVC模式

转载几篇关于ios中的MVC讲解的文章:1.浅谈iOS中的MVC设计:http://www.devdiv.com/home.php?mod=space&uid=6998&do=blog&id=96072.IOS学习之——MVC模式:http://blog.sina.com.cn/s/blog_4a3dcc3901010062.html3.iOS学习笔记之MVC架构:http

2012-09-14 14:17:48 238

转载 【Objective-C】iOS开发中常见的语句@synthesize obj=_obj的意义详解

我们在进行iOS开发时,经常会在类的声明部分看见类似于@synthesize window=_window; 的语句,那么,这个window是什么,_ window又是什么,两个东西分别怎么用,这是一个比较基本的问题,也关乎我们理解Objective-C中对类、类的属性、类的存取器、类的局部变量的统一理解。在32位系统中,如果类的 @interface 部分没有进行 ivar 声明,但有 @p

2012-09-13 16:02:23 591

原创 关于多线程的runloop和auroreleasepool

我们知道,每个线程都会有一个对应的runloop,对于主线程,默认是自动开启runloop的,而对于自己创建的此线程,默认是不会开启runloop的,而只有在开启了runloop后,系统才会自动创建一个autoreleasepool,并在runloop结束时释放掉这个,所以如果我们的次线程没有开启runloop的话并且还要autoreleasepool管理内存的话,需要手动创建一个autorele

2012-08-29 18:02:08 395

原创 viewcontroller的成员变量和属性在viewdidunload中的不同处理方式

对于成员变量实例,在ViewDidUnload()中需要先release,然后再将其置为nil,即:[xxx release]; xxx= nil;而对于属性变量(即只用@property声明的变量),在ViewDidUnload()中只需要将属性值置为nil即可,不需要自己再release,因为系统已经release这个变量了。

2012-08-28 16:51:28 387

iPhone开发秘籍(带你深入iPhone开发秘境)

IPhone开发技巧和实例讲解,适合初学者。

2011-11-25

IPhone开发秘籍 word版

本书提供了关于iPhone SDK 和iPhone 开发的全面信息,覆盖面广、结构清晰。书中深入浅出地介绍 iPhone SDK 中的各种组件,同时详细和通俗地讲解了iPhone 开发的基本流程、基本原理和基本原则,还 结合实例讲述了如何使用各种iPhone 特性,包括视图、视图控制器、警告、表格、媒体、控件、人物、位 置和事件等。 本书适合各层次的iPhone 开发人员学习和参考。书中的示例具有很强的通用性,特别适合作为参考指 南。

2011-11-25

IPhone开发教程(英文完整版)

经典的IPhone开发教程 适合初学者使用

2011-11-25

空空如也

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

TA关注的人

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