【极客班】iOS进阶(二)

本周的课程主要讲了两个方面的内容:动画和网络

动画方面,分别讲了UIKit、Transition和CoreAnimation

用mac预览打开一个gif图,是无数个图片排好序,叠加之后形成动作。

FPS:每秒传输帧数

几个数字:10fps流畅,16fps完全平滑,电影24fps(传说中的24帧),计算机显示60fps才足够。

3个类方法(其中startTime和duration都是比例值,从0-1.0):

+(void)animateWithDuration:(NSTimeInterval) delay: (NSTimeInterval) options:(UIViewAnimationOptions) animations:(void (^) (void)) completion:(void (^__nullable) (BOOL finished));

+(void) animateWithDuration:(NSTimeInterval) animations:(void (^) (void)) completion:(void(^__nullable)(BOOL finished))

+(void) animateWithDuration:(NSTimeInterVal) animations:(void (^) (void))

SprintAnimation(iOS+)

+(void)animationWithDuration:(NSTimeInterval)duration  //总时长,一个浮点数,以秒为单位

                  delay:(NSTimeInterval)delay      //延时启动,float,以秒为单位

        usingSpringWithDamping:(CGFloat)dampingRatio    //阻尼值0-1.0

                 initalSpringVelocity:(CGFloat)velocity          //初速度(pt)

                         options:(UIViewAnimationOptions)options

                       animations:(void  (^) (void) )animations

                       completion:(void  (^) (BOOL finished) )completion

Autolayout环境下的动画:修改constraint

-[view setNeedsUpdateConstraints]

-[view layoutIfNeeded] in animation block

View Transition

View切换动画:用动画过程提示已经切换到新界面叫View Transition。

在iOS中切换动画分为两类:

(一)修改子视图显示,变化较小

UIView的类方法:

+transitionWithView:duration:options:animations:completion:

//WithView:上级View;duration:动画长度;options:指定用那种类型的动画

(二)视图切换(从fromView切换到toView),变化较大

UIView的类方法:

+transitionFromView:toView:duration:options:completion:


网络编程 - 原生API

前半段讲的是网络的基础知识,《TCP/IP Illustrated》三部曲 拿来参考

记住了一个概念:幂等,放止多次操作,切记。

iOS7之后NSURLSession最常见

读取URL

NSURLSession *session = [NSURLSession shareSession];

[[ session dataTaskWithURL : myURL CompletionHandler :^(NSData *data, NSURLResponse *response, NSError *error) {...}  ]resume];

NSURLSession 的结构:

NSURLSession的基本用法

根据Session类型选择NSURLSessionConfiguration

设置Configuration,如指定NDURLCache等

用Configuration创建Session

+[NSURLSessionsessionWithConfiguration:delegate:delegateQueue:]

+[NSURLSessionsessionWithConfiguration:]//简单版本

在session里创建网络访问任务

启动任务

-[NSURLSessionTask resume]

NSURLSession的类型:

对于作业,实在是没辙了,不过这个很有参考价值:CoreLocation框架的应用

你可能感兴趣的:(【极客班】iOS进阶(二))