常用设计模式之单例
作者:网络转载 发布时间:[ 2015/9/28 14:19:06 ] 推荐标签:软件测试技术 测试用例
4、在Cocoa Touch框架中,有UIApplication、UIaccelerometer、NSUserDefaults和NSNotificationCenter等单例。另外,NSFileManager和NSBundle类虽然属于Cocoa框架的内容,但也可以在Cocoa Touch框架中使用。(Cocoa框架中的单例类有NSFileManager、NSBundle、NSWorkspace和NSApplication等)。
4.1、UIApplication
UIApplication类的实例提供了应用程序的集中控制点来保持应用的状态。UIApplication实例总是分配给应用程序委托对象(UIApplicationDelegate),通过应用程序委托对象来响应低内存、应用启动、后台运行和应用终止等时间。下面我们重点介绍这个类的几个方法和属性。
4.1.1 + sharedApplication方法。创建和获得UIApplication实例的方法。
4.1.2 idleTimerDisabled属性。设定和获得“空闲时间禁止”的状态。默认值是NO,即默认情况下系统会锁定屏幕。
4.1.3 - openURL:方法。可以打开一些内置的iOS应用,其中包括打开浏览器、打开地图、拨打电话、发送短信和发送E-mail。
1//打开浏览器
2NSURL*url=[NSURLURLWithString:@"http://www.baidu.com"];
3[[UIApplicationsharedApplication]openURL:url];
4
5//打开Google地图时,实际上是通过内置浏览器打开的。
6NSString*searchQuery=@"中国西安??????";
7//将字符串转换为URL编码
8searchQuery=[searchQuerystringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
9NSString*urlString=[NSStringstringWithFormat:@"http://maps.google.com/maps?q=%@",searchQuery];
10[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:urlString]];
11
12//拨打电话
13[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"tel://123456"]];
14
15//发送短信
16[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"sms:123456"]];
17
18//发送E-mail,不带附件
19[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"mailto://xxxx@xxx.com"]];
4.2 UIAccelerometer
它可以访问重力加速计硬件设备,实时获得设备在x轴、y轴和z轴方向上的重力加速度。+sharedAccelerometer方法是创建和获得UIAccelerometer实例的共享方法。
与Application类似,这个类也有对应的委托对象,其委托对象是UIAccelerometerDelegate。UIAccelerometer犟实例分配给委托对象,然后由委托对象响应重力加速计时间。
4.3 NSUserDefaults
单例类NSUserDefaults可以很方便地读取应用设置项目。
+ standardUserDefaults方法是创建和获得NSUserDefaults实例的静态方法。
4.4 NSNotificationCenter
单例类NSNotificationCenter提供消息广播通知,它采用观察者模式的通知机制。
+ defaultCenter方法是创建和获得NSNotificationCenter实例的共享方法。
4.5 NSFileManager
NSFileManager提供了访问文件系统的通用操作,可以定位、创建、复制文件和文件夹。在iOS5和Mac OS X v10.7之后,它还可以管理存储在iCloud上的数据。
+ defaultManager方法是创建和获得NSFileManager实例的方法。除了该方法外,创建NSFileManager对象还可以使用实例构造方法- init。这两种方法有较大差别,+ defaultManager方法总是返回相同的NSFileManager对象,但如果要使用委托(NSFileManagerDelegate)完成基于文件的操作并接受通知,应该使用- init方法创建一个新的实例,而不是使用共享的对象。
4.5NSBundle
NSBundle提供了动态加载(或卸载)可执行代码、定位资源文件以及资源本地化、访问文件系统等功能。
+ mainBundle方法是创建和获得NSBundle实例的共享方法。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南