1、IOS中的同步和异步
分别有Get和POST两个发送方式
同步:NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *str = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];
异步:NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
2、异步下载方法
(1)设置按钮
(2) 获取地址
(3)构建NSURL
(4)构建Request响应
(5)定义一个全局的可变的数据NSMutableData,并且实例化
(6)建立连接NSURLConnection
(7)连接失败时调用一个方法
(8)接收数据调用一个方法appendData:data;
(9)数据全部加载完成时调用一个完成的方法:里面写下载的路径(沙盒),然后判断是否保存成功。
3、上传图片
必须按照格式一步一步写。
(1)导入四个包:CFNetwork.framework;SystemConfiguration.framework;MobileCoreService.framework;Libz.1.2.5.dylib
(2)定义请求的URL地址
(3)获取图片的信息和数据
(4)构建响应请求
(5)分别写响应请求的设置代理,设置响应的方法,增加数据,当成功后触发的事件,失败后触发的事件
4、iOS定位服务
iOS中有三个定位服务组件
Wifi定位,通过查询一个Wifi路由器的地理位置的信息。比较省电,iPod touch和iPad也可以采用。
蜂窝基站定位,通过移动运用商基站定位。也适合有3G版本的iPod touch和iPad。
GPS卫星定位,通过3-4颗GPS定位位置定位,最为准确,但是耗电量大,不能遮挡。
注意:要在Xcode中添加“CoreLocation.framework”存在的框架
步骤:
(1)定义全局的有:定位系统管理类;经度文本框;纬度文本框
(2)实现CLLocationManagerDelegate代理
(3)导包CoreLocation.framework
(4)加载实例化系统管理类、设置代理、设置定位范围、定位精度、开始定位
(5)卸载时停止定位
(6)写获取当前的位置
(7)将坐标转化为地址然后判断如没有错误并且内容大于0,输出
5、地图概述
iOS应用程序中使用Map Kit API开发地图应用程序
其核心是MKMapView类使用。
6、设定地图模式及显示当前位置
//设置委托
self.mapView.delegate = self;
//是否显示用户位置
self.mapView.showsUserLocation = YES;
//设置模式
self.mapView.mapType=MKMapTypeStandard;
iOS提供了三种风格的地图:
MKMapTypeStandard标准地图模式
MKMapTypeSatellite卫星地图模式
MKMapTypeHybrid具有街道等信息的卫星地图模式
7、在地图上添加标注
仍上图中,我们看刡用户弼前位置标注为一个蓝色的点,但是我们想更改为一个 图针。根据 iOS 开収指导,如要在地图上显示一个标注,App 应该提供如下 2 个对象:
一个遵守 MKAnnotation 协议,幵管理标注数据的对象;
一个继承自 MKAnnotationView 类的规图,用来在地图上可规化显示标注;
annotationView.canShowCallout = YES;指定标注上的插图,点击图钉有气泡显示。
annotationView.pinColor 设置图钉的颜色。
annotationView.animatesDrop动画效果。
8、iOS常用功能使用
打电话、发短信、发邮件、打开网页
//定义消息对象
- (IBAction) phone
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10010"]];
//打电话
}
- (IBAction) sms
{
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms://10010"]];
//发短信
}
UILocalNotification *notification=[[UILocalNotification alloc] init];
//判断是否为空
if (notification!=nil) {
//设置时间
NSDate *now=[NSDate new];
//推迟事件10秒钟以后执行
notification.fireDate=[now addTimeInterval:10];
//设置时区
notification.timeZone=[NSTimeZone defaultTimeZone];
//设置角标
notification.applicationIconBadgeNumber = 1;
//通知内容
notification.alertBody=@"河软优快云乐知学院欢迎您!";
//发送通知
[[UIApplication sharedApplication] scheduleLocalNotification:notification];
9、iOS传感器
1)影像传感器
2)亮度传感器
3)磁阻传感器
4)近接传感器
5)近接传感器
6)加速度传感器
7)角加速度传感器
10、CoreMotion框架
Core Motion框架包含有一个专门的Manager类,CMMotionManager
Core Motion在iOS4.0主要负责三种数据:加速度值,陀螺仪值,设备motion值。实际上,这个设备motion值就是通过加速度和旋转速度进行fusing变换算出来的。
1)初始化CoreMotion;
2)判断设备是否可用;
3)Accelerometer 获取手机加速度数据
4)Gravity 获取手机的重力值在各个方向上的分量,根据这个就可以获得手机的空间位置,倾斜角度等