KVO/KVC 实现机理分析
摘要:来源:http://blog.csdn.net/dqjyong/article/details/7672865Objective-C里面的Key-Value Observing (KVO)机制,非常不错,可以很好的减少浇水代码。关于KVO的学习,可以参考文章:《Key-Value Observing...
阅读全文
posted @
2014-04-22 21:51
猿人谷
阅读(2109)
推荐(0) 编辑
iOS NSNotification的使用
摘要:如果在一个类中想要执行另一个类中的方法可以使用通知1.创建一个通知对象:使用notificationWithName:object: 或者 notificationWithName:object:userInfo: NSNotification* notification = [NSNotifica...
阅读全文
posted @
2014-04-22 21:49
猿人谷
阅读(31590)
推荐(4) 编辑
NSUserDefaults简介及使用
摘要:NSUserDefaults类提供了一个与默认系统进行交互的编程接口。NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等。默认系统允许应用程序自定义它的行为去迎合用户的喜好。你可以在程序运行的时候从用户默认的数据库中读取程序的设置。同时NSUserDefaults的...
阅读全文
posted @
2014-04-14 10:14
猿人谷
阅读(34896)
推荐(1) 编辑
谈Objective-C Block的实现
摘要:来源:http://blog.devtang.com/blog/2013/07/28/a-look-inside-blocks/前言这里有关于block的5道测试题,建议你阅读本文之前先做一下测试。先介绍一下什么是闭包。在wikipedia上,闭包的定义)是:In programming languages, a closure is a function or reference to a function together with a referencing environment—a table storing a reference to each of the non-local
阅读全文
posted @
2014-03-16 22:10
猿人谷
阅读(1235)
推荐(0) 编辑
iOS应用开发:什么是ARC
摘要:ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地理解ARC,就是通过指定的语法,让编译器(LLVM 3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(Static Analyzer)工具。变化点通过一小段代码,我们看看使用AR
阅读全文
posted @
2014-03-16 20:29
猿人谷
阅读(4528)
推荐(0) 编辑
处理日期时间NSDate
摘要:获取当前日期时间的代码如下: NSDate *dateToDay = [NSDate date]; NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"yyyy-MM-DD HH:mm:ss"]; NSLocale *local = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; [df setLocale:local]; NSString *myDataString = @"2009-09
阅读全文
posted @
2013-12-15 10:25
猿人谷
阅读(2263)
推荐(0) 编辑
oc 中随机数的用法(arc4random( ) 、random( )、CCRANDOM_0_1( )
摘要:来源:http://www.cnblogs.com/jay-dong/archive/2012/07/23/2604916.html1)、arc4random() 比较精确不需要生成随即种子 使用方法 : 通过arc4random() 获取0到x-1之间的整数的代码如下: intvalue=arc4random()%x; 获取1到x之间的整数的代码如下: intvalue=(arc4random()%x)+1; 2)、CCRANDOM_0_1() cocos2d中使用 ,范围是[0,1] 使用方法: float random = CCRANDOM_0_1() * 5; //[0,5] CCRA
阅读全文
posted @
2013-12-13 11:52
猿人谷
阅读(2484)
推荐(0) 编辑
KVC , KVO , KVB
摘要:来源:http://www.cnblogs.com/jay-dong/archive/2012/12/13/2815778.html熟悉oc语法的同学也许都会懂得这么一点:在oc中,类的成员变量或是方法是没有绝对私有的。私有方法直接通过类实例无法访问,但可以借助oc的“编译运行时”机制,也即“瞎子摸黑”机制(个人理解:只要确定了该类有方法A,管你是私有共 有,我用performSelector函数就能调用你),说到这,也许有同学会自然想起,那私有变量如何去访问呢?貌似以前还真没这样搞过,然而现实是 可以的,只不过一般我们把变量设为类的私有变量后是不希望自己或是其他人再去访问的,不然我只能说你自
阅读全文
posted @
2013-12-13 11:38
猿人谷
阅读(670)
推荐(0) 编辑
NSPredicate,谓词
摘要:原文地址:http://blog.csdn.net/holydancer/article/details/7380799在语言上,谓语,谓词是用来判断的,比如“我是程序猿”中的是,就是表判断的谓语, “是”就是一个谓词,在objective-c中,应该说在COCOA中的NSPredicate表示的就是一种判断。一种条件的构建。我们可以先通过 NSPredicate中的predicateWithFormat方法来生成一个NSPredicate对象表示一个条件,然后在别的对象中通过 evaluateWithObject方法来进行判断,返回一个布尔值。还是看代码简单明了:[plain] view p
阅读全文
posted @
2013-12-13 10:45
猿人谷
阅读(329)
推荐(0) 编辑
关于Objective-C 对象release操作的一个小问题探讨
摘要:来源:http://blog.csdn.net/duxinfeng2010/article/details/8757211最近遇到这样一个问题,以前的时候并未注意;新建一个工程,然后添加一个类,文件结构是这样的然后写了这样一小段程序,运行[cpp] view plaincopy-(void)viewDidLoad{[superviewDidLoad];Test*testObj=[[Testalloc]init];NSLog(@"release前%d",[testObjretainCount]);[testObjrelease];NSLog(@"release后%d
阅读全文
posted @
2013-12-12 14:26
猿人谷
阅读(319)
推荐(0) 编辑
协议和委托
摘要:来源:http://blog.csdn.net/duxinfeng2010/article/details/8120960在iPhone开发协议和委托是常接触到的东西,到底什么是协议什么是委托,他们什么关系?一 协议(1)协议相当于没有与类相关联的接口,他申明一组方法,列出他的参数和返回值,共享给其他类使用,然后不进行实现,让用它的类来实现这些方法(2)在任何一个类中,只有声明了协议,都可以实现协议里的方法。(3)协议不是一个类,更没有父类了。(3)协议里面的方法经常都是一些委托方法,二 委托委托,故名思议就是托别人办事。打个比方:张三迫切需要一分工作,但是不知道去哪找。于是他就拜托(委托)李
阅读全文
posted @
2013-12-12 14:21
猿人谷
阅读(316)
推荐(0) 编辑
Objective-C: 字符串NSString与NSMutableString
摘要:字符串算是OC中非常重要和常用的一部分内容,OC中的字符串与我之前在学习C,C++,Java中的字符串有一定的不同,它非常类似于C++中容器的概念,但用法却与之还是有很大的不同,也许是因为OC的语法就与其他我们常用的编程语言不尽相同。 这里总结一下字符串NSString与NSMutableStrin
阅读全文
posted @
2013-12-08 16:18
猿人谷
阅读(11807)
推荐(5) 编辑
IOS 消息机制(NSNotificationCenter)
摘要:来源:http://www.cnblogs.com/xunziji/p/3257447.html#commentform消息机制 NSNotificationCenter 一直都在频繁使用,但是却对其原理不是十分了解。今天就花些时间,把消息机制原理重头到尾好好过一遍。iOS 提供了一种 "同步的" 消息通知机制,观察者只要向消息中心注册, 即可接受其他对象发送来的消息,消息发送者和消息接受者两者可以互相一无所知,完全解耦。这种消息通知机制可以应用于任意时间和任何对象,观察者可以有多个,所以消息具有广播的性质,只是需要注意的是,观察者向消息中心注册以后,在不需要接受消息时需要
阅读全文
posted @
2013-12-01 15:38
猿人谷
阅读(788)
推荐(0) 编辑
OC字符串常用函数
摘要:创建一个字符串对象:NSstring * str1 = @"hello";NSString * str = [[NSString alloc]initWithString:@"hello world!"];NSString * str_1 = [[NSString alloc]initWithUTF8String:"hello world"];//把C的字符串转化为OC的字符串int a = 123;NSString * str_3 = [[NSString alloc]initWithFormat:@"a = %d %s%
阅读全文
posted @
2013-12-01 14:54
猿人谷
阅读(24873)
推荐(6) 编辑
文件操作
摘要:来源:http://my.oschina.net/outatu/blog/1255891.文件的浅度遍历与深度遍历01//NSFileManager * fm = [[NSFileManager alloc]init];//创建文件管理器02//第一步创建一个文件管理器03NSError * error= nil;04//显示路径下的内容,作用类似于ls -a指令05//返回值是把目录下的内容放到NSArray中06//浅度遍历07NSFileManager * fm = [NSFileManager defaultManager];08NSArray * array = [fm conten
阅读全文
posted @
2013-12-01 14:49
猿人谷
阅读(541)
推荐(0) 编辑
词典对象 NSDictionary与NSMutableDictionary
摘要:做过Java语言或者C语言开发的朋友应该很清楚关键字map吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便,是一种非常常用的数据结构。在Objective-C语言中,当然也有这方面的支持,词典对象就是做这个事情的,不过在同一个词典对象中可以保存多个不同类型的数据,不像Java与C只能保存声明的相同类型的数据,这一点还是可以解决不少问题的。词典的关键字为NSDictionary与NSMutableDictionary。对OC稍有认识的朋友应该从关键字的结构就可以看出这两个的区别。很明显前者为不可变词典,后者为可变词典。1.创建不可变词典[NSDict
阅读全文
posted @
2013-11-29 15:30
猿人谷
阅读(1485)
推荐(0) 编辑
Delegate
摘要:转自:http://blog.csdn.net/amdbenq/article/details/7865988首先,大家应该都明白的是委托是协议的一种,顾名思义,就是委托他人帮自己去做什么事。也就是当自己做什么事情不方便的时候,就可以建立一个委托,这样就可以委托他人帮自己去实现什么方法。 其次,我简单的总结了一下自己用到的委托的作用有两个,一个是传值,一个是传事件。1.所谓传值经常用在b类要把自己的一个数据或者对象传给a类,让a类去展示或者处理。(切分紧耦合,和代码分块的时候经常用)2.所谓传事件就是a类发生了什么事,把这件事告诉关注自己的人,也就是委托的对象,由委托的对象去考虑发生这个事件后
阅读全文
posted @
2013-11-29 13:49
猿人谷
阅读(359)
推荐(0) 编辑
Objective-C中的hasPrefix
摘要:Objective-C中的hasPrefix hasPrefix:方法的功能是判断创建的字符串内容是否以某个字符开始,其语法形式如下:-(BOOL)hasPrefix:(NSString*)aString; 其中,(NSString *)aString;用来指定字符串。该方法的返回值为BOOL,当BOOL为YES或者为1时,则字符串是以某个字符开始;当BOOL为NO或者为0时,则字符串不是以某个字符开始。【示例】以下程序通过使用hasPrefix:方法来判断使用stringWithCString:方法创建的字符串是否以字母B开始,如果是以字母B开始,输出开头为字母B;如果不是,输出开头不为字母
阅读全文
posted @
2013-11-29 12:00
猿人谷
阅读(12491)
推荐(0) 编辑
NSLog
摘要:在Objective-C中,NSLog相当于C语言中的printf,常用于文字输出。1.NSLog定义NSLog定义在NSObjCRuntime.h中,如下所示:void NSLog(NSString *format, …);基本上,NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString的对象,而不是char *这种字符串指针。2.示例NSLog可以如下面的方法使用:NSLog (@"this is a test");NSLog (@"string is :%@", string);NSLog
阅读全文
posted @
2013-11-29 11:45
猿人谷
阅读(612)
推荐(0) 编辑
(转载)ios的一些知识点
摘要:ios的一些知识点一 非ARC的内存管理情况1-autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象。当用户的代码运行告一段落,开始等待用户的操作,自动释放池就会被释放掉(调用dealloc),池中的对象都会收到一个release,有可能会因此被销毁。2-成员属性:readonly:不指定readonly,默认合成getter和setter方法。外界毫不关心的成员,则不要设置任何属性,这样封装能增加代码的独立性和安全性。相当于私有成员?assign:表示只进行简单的赋值,不会发送retain消息。retain:会向旧值发送rel
阅读全文
posted @
2013-11-29 11:17
猿人谷
阅读(590)
推荐(0) 编辑