10 2012 档案
摘要:APNs--Apple Push Notification ServiceAPNs苹果推送服务器Device安装带有推送服务程序的iPhone手机Provider程序服务器,把需要推送的信息发给 APNsDeviceToken在Device第一次连接APNs时,由APNs生成的经过加密的连接认证信息。在以后的连接中,无论时Provider到APNs还是APNs到Device 都需要 DeviceToken作为认证。Payload需要推送的消息的主体内容。alert-alert消息的消息体,按键标题等badge-显示在程序icon右上角的数字,sound-声音提示文件的文件名,该声音资源文件要在
阅读全文
摘要:在IOS应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在iOS设备中加一个缓存的机制。这篇文章将介绍一下如何在iOS设备中进行缓存,本文先介绍一下将内容缓存到内存中,下一篇文章就介绍一下在iOS磁盘上缓存内容。使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求。内存缓存我们可以使用sdk中的NSURLCache类。NSURLRequest需要一个缓存参数来说明它请求的url何如缓存数据的,我们先看下它的CachePolicy类型。1、NSURLRequestUseP
阅读全文
摘要:通过代码块(block)功能,你就能像对待对象一般,指定要在方法和函数中传递任意代码部分。代码块的声明:int main (int argc, const char * argv[]) {@autoreleasepool {void (^myBlock) (NSString *x);//声明变量/* 代码块是存储在一个变量中,并且需要参数和声明的返回类型。返回类型:(本类是void)声明代码块的返回值类型的位置所声明变量的类型定义在同一个地方。在代码块声明中声明的值类型就是代码块执行时的返回值类型。特殊字符^:它告诉编译器所定义的时代码块而不是其他类型的变量。变量名:(这里时myBlock).
阅读全文
摘要:一、获取系统所支持的国际化信息在国际化之前,你可以在iphone中的”设置->通用->多语言环境->语言”中来查看你的iphone支持哪些语言,当然也可以写一段代码测试一下你的iphone都支持哪些语言.测试代码如下:NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSArray *languages = [defaults objectForKey:@"AppleLanguages"]; NSLog(@”%@”, languages);注:NSUserDefaults类用
阅读全文
摘要:01 //获取当前时间02 NSDate *now = [NSDate date];03 NSLog(@”now date is: %@”, now);0405 NSCalendar *calendar = [NSCalendar currentCalendar];06 NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;07 NSDateComp
阅读全文
摘要:多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等。在Cocoa中,Apple提供了NSOperation这个类,提供了一个优秀的多线程编程方法。本次介绍NSOperation的子集,简易方法的NSInvocationOperation:@implementation MyCustomClass- (void)launchTaskWithData:(id)data{//创建一个NSInvocationOperation对象,并初始化到方法//在这里,selector参数后的值是你想在另外一个线程中运行的方法(函数,Method)//在这里,
阅读全文
摘要:object-c的多线程如java的多线程一样方便可靠。一、线程创建与启动线程创建主要有二种方式:[cpp] view plaincopy- (id)init; // designated initializer- (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument;当然,还有一种比较特殊,就是使用所谓的convenient method,这个方法可以直接生成一个线程并启动它,而且无需为线程的清理负责。这个方法的接口是:[cpp] view plain copy+ (void)detachNewThr
阅读全文
摘要:对于iphone开发人员来说,内存管理是极为重要的技巧,哪怕程序的功能再强大,设计再漂亮,如果内存控制不好,也难逃程序莫名退出的噩运,这与网页开发是完全不同的。内存控制里面有很多门道,在这里分析一下 viewDidUnload 和 dealloc 的区别,关于这两者的区别的文章很多,但是大都是摘抄和翻译官方文档,有的也只是简单的说两句,并没有详细说出两者具体的区别。在了解两者之间的区别,首先要知道 view 的生命周期,google 里面有很多文章,可以先去搜一下,这里就不详解了。顾名思义 viewDidUnload 就是当 view 被卸载以后执行的语句,它与 viewDidLoad 是相.
阅读全文

浙公网安备 33010602011771号