IOS开发知识点1

1 知识点回顾

>1 block

<1>定义:返回值 参数 标识符  有参有返回值block: 返回值 (^标示符)(参数类型1,参数类型2);

<2>内容:^(形参1,形参2){代码块}

有参有返回值block定义: int (^add)(int,int) = ^(int a,int b){return a + b;};

<3>执行:标示符(实参1,实参2)

有参有返回值block调用: int a = 10; int b = 20;int c = add(a,b);

<4> block使用注意

1>定义属性时使用copy

2>block中应用self时用__weak修饰,防止循环引用

3>GCD和NSOperation中的block可以使用block,因为线程中任务执行过后会block会自动               销毁.

<5> block与变量的区别:block是代码块,且允许有返回值;

block与函数区别:block可以作为参数传递

>2 NULL和nil的区别

<1>NULL是C语言中的内容,不允许给NULL发送消息,OC中若有**修饰,一般使用NULL

<2>nil是OC对象,可以给nil发送任何消息,但是没有响应.数组和字典中的对象不能使用nil来存储,可以使用NSNull来存储;

>3 token的应用

<1>服务器端通过token值来判断客户端用户是否登录,当客户端登录成功后,会服务器端生成标识用户的token值,然后将token值返回给客户端,并作永久化保存在本地沙盒中,当客户端再次发送请求时,服务器端可以通过发送的token值来判断用户登录情况.

<2>对于支付/购物类App,token的时效期较短,而新闻/聊天/阅读类App,token的时效期较长;

<3>设备唯一性的登录判断:每次登录均生成新的token值.

4> GCD的应用

<1>开启线程,取代NSThread;

<2>将异步任务添加到主队列,控制任务的执行顺序.

你可能感兴趣的:(IOS开发知识点1)