学习NSUrlSession的使用
我的服务器是搭建在本地的,所以可以看到我访问的都是localhost,数据也是写死的
- 基本使用
1 | // 下面的代码,放进一个按钮点击事件中执行 |
打印的内容,就是http请求所返回的所有内容
- next,感受异步
1 | //按钮点击 |
点击request请求服务器,再点击另一个按钮的时候,并没有阻塞主线程
这就是NSUrlSession的强大之处,next,后面继续
我的服务器是搭建在本地的,所以可以看到我访问的都是localhost,数据也是写死的
1 | // 下面的代码,放进一个按钮点击事件中执行 |
打印的内容,就是http请求所返回的所有内容
1 | //按钮点击 |
点击request请求服务器,再点击另一个按钮的时候,并没有阻塞主线程
这就是NSUrlSession的强大之处,next,后面继续
view 的 frame bounds center
要先讲解frame,还是得讲解bounds;
当一个view添加到viewcontroller.view时,其实是基于viewcontroller.view的坐标系;
就像viewcontrolelr.view添加到uiwindow,其实是基于uiwindow的坐标系;
view的bounds属性就是添加子view的时候,给子视图参照的坐标系;
该坐标系是由bounds和center计算,frame只是方便描述这两个值而已
UIDynamic是iOS7引入的UIKit动力学,目的是将2D物理引擎引入UIKit.
最明显的就是短信界面,拖动的时候有物理效果.
通常的时候我们仅使用CA和UIView的动画即可,除非我们需要引入非常逼真的交互设计的时候才使用
来看看新的基本概念:
喵神原文: http://onevcat.com/2013/06/uikit-dynamics-started/ onevcat
看了这篇文章,可能是我太笨,有可能是作者太牛逼,反正我是没看懂,都没下他写的demo
写的什么鬼,自己来搞一搞
原文链接:http://lvwenhan.com/ios/458.html
新建一个空项目,在target->General->Deployment Info中勾选
不然只会支持你所选择的方向(那就没得玩了)
然后再Main.storyboard中拖入一个按钮,放到左上角一些,why?因为不在界面上放个东西,改变方向你会晕的
现在run,手动改变方向command+⬅️
,效果给你个截图
可以看到屏幕的方向会随着设备的方向而改变,Landscape Left(顺时针转,home键在左),如果用户锁定了屏幕旋转,那就不用讨论设备转向的情况下屏幕跟随转向的问题了
1 | //file ViewController.m |
显而易见的,这个方法控制我们的页面是否跟随设备转动而改变方向
Podfile文件内容:
1 | platform :ios, '7.0' |
运行$ pod install
安装完成后使用xcworkspace文件打开项目
在RWViewController.m文件
1 | #import <ReactiveCocoa/ReactiveCocoa.h> |
在viewDidLoad中添加代码
1 | [self.usernameTextField.rac_textSignal subscribeNext:^(id x) { |
现在我们就能体验到信号编程了
在工作中遇到一个问题,本来可以直接将字典转换成json,再转换成nsdata,设置到httpbody中
就可以请求服务器了,可是服务器不方便解析(其实是做服务器开发的不知道怎么解析收到的数据|_|)
最后只能将字典遍历键值对变成查询字符串的样子设置在body中
For Example:
1 | { |
通常上传到服务器的数据都需要编码一次,不过我上传的数据全是[a-zA-Z0-9]等等,不用编码也是可以的
可是问题出现了,上传到服务器的数据中有+号,看了阮一峰的博客,从中可以看到+在服务器会被自动解析成空格
简直是见了鬼,然后就得改代码呗
1 | NSString *str = @"username=yutiya&lock=abc+bbc+ccc"; |
然而并没有什么卵用,好,我换了一个方法
Update your browser to view this website correctly. Update my browser now