摘要:转载:http://marshal.easymorse.com/archives/4152在java语言里,可以通过如下代码来实现加载类的时候执行对类的操作,一般叫:类初始块,或者,类加载块。比如:public class MyClass{ static{ …… }}在objc语言里,对应的机制是,类方法,load和initialize。比如:#import "Constants.h"@implementation Constants+ (void)initialize{ NSLog(@"init constants >>>>>>
阅读全文
摘要:微博对每条信息有 140 字的上限限制,下面微博字数统计函数,做微博客户端应用的开发者可以以此加入字数统计功能以方便用户- (int)countWord:(NSString*)s{ int i,n=[s length],l=0,a=0,b=0; unichar c; for(i=0;i<n;i++){ c=[s characterAtIndex:i]; if(isblank(c)){ b++; }else if(isascii(c)){ a++; }else{ l++; } } if(a==0 && l==0) return...
阅读全文
摘要:Block可以帮助我们组织独立的代码段,并提高复用性和可读性。iOS4在UIKit中引入了该特征。超过100个的Apple API都使用了Block,所以这是一个我们必须开始熟悉的知识。Block是什么样的?你可以使用^操作符来声明一个Block变量,它表示一个Block的开始。intnum1=7; int(^aBlock)(int)=^)intnum2){ returnnum1+nunm2; };在如上代码中我们将Block声明为一个变量,所以可以将它当做一个函数中使用:NSLog(@"%d",aBlock(49));//adds49to7whichgivesus56.我
阅读全文
摘要:iPhone文件系统:创建、重命名以及删除文件NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。每个程序都会有它自己的沙盒,通过它你可以阅读/编写文件。写入沙盒的文件在程序的进程中将会保持稳定,即便实在程序更新的情况下。如下所示,你可以在沙盒中定位文件目录://对于错误信息NSError *error;// 创建文件管理器NSFileManager *fileMgr = [NSFileManagerdefaultManager];//指向文件目录NSString *documentsDirectory= [NSHo
阅读全文
摘要:ABAddressBookRef addressBook = ABAddressBookCreate();CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook);for(int i = 0; i < CFArrayGetCount(results); i++){ABRecordRef person = CFArrayGetValueAtIndex(results, i);//读取firstnameNSString *personName = (NSString*)ABRecordCopyValue(perso
阅读全文