2012年7月3日

摘要: 1、UINavigationController导航控制器如何使用UINavigationController可以翻译为导航控制器,在IOS里经常用到。我们看看它的如何使用:下面的图显示了导航控制器的流程。最左侧是根视图,当用户点击其中的General项时 ,General视图会滑入屏幕;当用户继续点击Auto-Lock项时,Auto-Lock视图将滑入屏幕。相应地,在对象管理上,导航控制器使用了导航堆栈。根视图控制器在堆栈最底层,接下来入栈的是General视图控制器和Auto-Lock视图控制器。可以调用pushViewControllerAnimated:方法将视图控制器推入栈顶,也可以 阅读全文
posted @ 2012-07-03 21:12 wenxp2006 阅读(568) 评论(0) 推荐(0) 编辑
 

2012年6月19日

摘要: 1、malloc()malloc()函数用来分配内存:将总共需要的字节数作为参数传递给该函数,返回值是指向最新分配的内存的指针,而如果内存没有分配好,则返回值是NULL。malloc()的使用技术:some_type*pointer;pointer=malloc(count*sizeof(*pointer));注:(1)这个方法保证malloc()会分配正确数量的内存,而不用考虑pointer的生命。如果pointer的类型后来变了,sizeof算子自动确保要分配的字节数仍然正确。(2)malloc()返回的内存是“没有“初始化的。这块内存可能包含任何随机的垃圾,你可以马上用有效数据或者至少是 阅读全文
posted @ 2012-06-19 15:23 wenxp2006 阅读(179) 评论(0) 推荐(0) 编辑
 
摘要: 成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual关键字。“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下:(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字。(这里与覆盖唯一区别是在于有 阅读全文
posted @ 2012-06-19 10:13 wenxp2006 阅读(174) 评论(0) 推荐(0) 编辑
 

2012年6月4日

摘要: 在对NSString的操作中,API中没有提供现成的从字符串中提取指定位置字符的方法,也没有提供从所给的字符串中找出某个字符串的位置的方法,下面是我写的两个进行此类操作的类方法,如有不妥的地方请批评指正。#pragma mark 从一个字符串中提取指定位置的字符+(NSString *)getNSString:(NSString *)_string atIndex:(int)_index{NSString *tempString;tempString = nil;if((_string)&&(_index>=0)){//先计算索引值是否大于字符串的长度,如果大于字符串的长 阅读全文
posted @ 2012-06-04 20:46 wenxp2006 阅读(3800) 评论(0) 推荐(0) 编辑
 
摘要: 下面是本人写的sqlite数据库在IOS中使用的通用代码,欢迎大家拍砖指正。在使用前需要先添加libsqlite3.0.dylibDataInit.h#import <Foundation/Foundation.h>#import "sqlite3.h"@interface DataInit : NSObject{NSMutableArray *dataArray;//该数组用于存放从数据库中读取的数据sqlite3 *database;}@property (nonatomic,retain) NSMutableArray *dataArray;//建立的Da 阅读全文
posted @ 2012-06-04 20:37 wenxp2006 阅读(2393) 评论(0) 推荐(0) 编辑
 
摘要: SQL语句操作介绍如何用sqlite执行标准sql语法。i.1执行sql语句intsqlite3_exec(sqlite3*,constchar*sql, sqlite3_callback,void*,char**errmsg );这就是执行一条sql语句的函数。第1个参数不再说了,是前面open函数得到的指针。说了是关键数据结构。第2个参数const char *sql是一条sql语句,以\0结尾。第3个参数sqlite3_callback是回调,当这条语句执行之后,sqlite3会去调用你提供的这个函数。(什么是回调函数,自己找别的资料学习)第4个参数void *是你所提供的指针,你可以传 阅读全文
posted @ 2012-06-04 20:13 wenxp2006 阅读(4533) 评论(0) 推荐(0) 编辑
 

2012年5月30日

摘要: Objective-C 可以算作 Apple 平台上“唯一的”开发语言。很多 Objective-C 的教程往往直接从 Objective-C 开始讲起。不过,在我看来,这样做有时候是不合适的。很多程序员往往已经掌握了另外一种开发语言,如果对一门新语言的理解建立在他们已有的知识之上,更能 起到事半功倍的效果。既然名为 Objective-C,它与 C 语言的联系更加密切,然而它又是 Objective 的。与 C 语言联系密切,并且是 Objective 的,我们能够想到的另外一门语言就是 C++。C++ 的开发人员也更普遍,受众也会更多。于是就有了本系列,从 C++ 的角度来讲述 Objec 阅读全文
posted @ 2012-05-30 20:19 wenxp2006 阅读(943) 评论(0) 推荐(0) 编辑
 
摘要: 多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c虽然源于c,但其多线程编程却相当简单,可以与java相媲美。这篇文章主要从线程创建与启动、线程的同步与锁、线程的交互、线程池等等四个方面简单的讲解一下iphone中的多线程编程。一、线程创建与启动线程创建主要有二种方式:- (id)init; // designated initializer- (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument;当然,还有一种比较特殊,就是使用所谓的convenient method,这 阅读全文
posted @ 2012-05-30 06:19 wenxp2006 阅读(163) 评论(0) 推荐(0) 编辑
 

2012年5月29日

摘要: 版权声明此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com/,且必须包含此版权声明的完整内容。版本1.1发表于2010-03-08四系统自动创建新的autorelease pool在生成新的Run Loop的时候,系统会自动创建新的autorelease pool(非常感谢网友hhyytt和neogui的提醒)。注意,此处不同于xcode在新建项目时自动生成的代码中加入的autorelease pool,xcode生成的代码可以被删除,但系统自动创建的新的auto 阅读全文
posted @ 2012-05-29 07:09 wenxp2006 阅读(121) 评论(0) 推荐(0) 编辑
 
摘要: 版权声明此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com,且必须包含此版权声明的完整内容。版本1.1发表于2010-03-08三@property (retain)和@synthesize的默认实现在这里解释一下@property (retain) ClassB* objB;和@synthesize objB;背后到底发生了什么(retain property的默认实现)。property实际上是getter和setter,针对有retain参数的propert 阅读全文
posted @ 2012-05-29 07:08 wenxp2006 阅读(144) 评论(0) 推荐(0) 编辑