IOS中控制器的重要方法使用】的更多相关文章

1.屏幕即将旋转的时候调用(控制器监控屏幕旋转) - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 2.屏幕旋转完毕的时候调用 - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientatio…
iOS中控制器的释放问题 ARC工程是可以重写dealloc方法并被系统调用的,但不需要手动调用父类的dealloc,手写[super dealloc]方法会报错,事实上系统会自动帮你调用父类的dealloc方法,不需要你实现.可以通过在dealloc方法中打印log查看控制器是否被释放. 控制器在被pop后移出栈后会被释放,但有些时候会发现控制器出栈的时候不会调用dealloc方法,归根结底,是因为当前控制器被某个对象强引用了,控制器的引用计数不为0,系统无法帮你释放这部分内存. 控制器中NS…
利用arc4random_uniform()产生随机数 Objective-C 中有个arc4random()函数用来生成随机数且不需要种子,但是这个函数生成的随机数范围比较大,需要用取模的算法对随机值进行限制,有点麻烦. 其实Objective-C有个更方便的随机数函数arc4random_uniform(x),可以用来产生0-(x-1)范围内的随机数,不需要再进行取模运算.如果要生成1-x的随机数,可以这么写:arc4random_uniform(x)+1.   更多参考: iOS中的生成随…
ios中NSUserDefaults的使用方法 NSUserDefaults类提供了一个与默认系统进行交互的编程接口.NSUserDefaults对象是用来保存.恢复应用程序相关的偏好设置,配置数据等等. 默认系统同意应用程序自己定义它的行为去迎合用户的喜好.你能够在程序执行的时候从用户默认的数据库中读取程序的设置.同一时候NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作. 能够通过调用synchronize方法来使内存中的缓存与用户默认系统进行同步. NSU…
俗话说的好,前人栽树后人乘凉,最近看了很多博文,不少博文提到了NSTimer的销毁问题, 之前我都没怎么注意,现在对照着文章一一实践发现坑还真不少.下面是我读到的几篇博文分享给大家 @啸笑天的NSTimer@庞海礁的个人空间@汪海的实验室「iOS 中的 NSTimer」 这几篇文章阐述了NSTimer的销毁问题,并且都给出解决方案 这里就提供一个简洁的方案,是由啸笑天提供的 + (NSTimer *)ez_scheduledTimerWithTimeInterval:(NSTimeInterva…
数组遍历是编码中很常见的一种需求,我们来扒一拔iOS里面都有什么样的方法来实现,有什么特点. 因为ios是兼容C语言的,所以c语言里面的最最常见的for循环遍历是没有问题的. 本文中用的数组是获取的系统的语言数组,大约有30多个数据,虽然还不够模拟大批量的数据,但对于方法的验证是没有问题的了. NSArray *langArray = [[NSUserDefaults standardUserDefaults] arrayForKey:@"AppleLanguages"]; 第一种方法…
数组遍历是编码中非经常见的一种需求.我们来扒一拔iOS里面都有什么样的方法来实现,有什么特点. 由于iOS是兼容C语言的.所以C语言里面的最最常见的for循环遍历是没有问题的. 本文中用的数组是获取的系统的语言数组,大约有30多个数据.尽管还不够模拟大批量的数据.但对于方法的验证是没有问题的了. NSArray *langArray = [[NSUserDefaults standardUserDefaults] arrayForKey:@"AppleLanguages"]; 第一种方…
上个月公司做项目的时候在列表排序的时候产品加了一个需求,通过点击量,发布时间,评论量进行筛选的一个需求. 一开始在电脑上测试基本没问题,然后我也就放下了这个按耐不住的小心脏,然后在完成所有模块后 showCase的时候 时间排序功能失效了.. 嗯..当时一头雾水随后百度了一下 才发现在iOS中是不能识别'xxx-xxx-xxx'这种事件格式的没有办法进行对比 所以在使用sort排序的时候需要先使用replace将多得到的数据的- 进行替换然后再进行对比 功能就可以正常使用了 demo: info…
在同个angular应用的控制器之间进行通信可以有很多种不同的方式,本文主要讲两种: 基于scope继承的方式和基于event传播的方式 基于scope继承的方式 最简单的让控制器之间进行通信的方法是通过scope的继承.假设有两个控制器Parent.Child,Child 在 Parent 内,那Child 可以称为子控制器,它将继承父控制器Parent的scope.这样,Child就可以访问到Parent的scope中的所有函数和变量了.需要注意的是,由于scope的继承也是基于Js的原型继…
ios 有如下三种随机数方法: //第一种 srand((unsigned)time(0)); //不加这句每次产生的随机数不变 int i = rand() % 5; //第二种 srandom(time(0)); int i = random() % 5; //第三种 int i = arc4random() % 5 ; 注: ① rand()和random()实际并不是一个真正的伪随机数发生器,在使用之前需要先初始化随机种子,否则每次生成的随机数一样. ② arc4random() 是一个…