A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hm_pt 中级黑马   /  2015-10-30 20:52  /  731 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

-----<a  target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------  
                                                                                      OC加强学习(三)
                1. 定义block变量别名:
                            typedef (void)(^newType)(int ,int) ;
                   2. block访问外部变量
                         1)当定义block的时候,block会把外部变量以const的方式复制一份存放到block所在的内存中,且不允许修改外部变量的值
                         2)__block定义局部变量时,可以修改变量的值,修改的是复制到堆区中的变量的值。定义block之后,以后用到该变量时,都是堆中的变量。  
                   3.协议:protocol
                       协议:一些方法的声明,一般写到一个.h文件中
                       1)定义协议:@protocol 协议名<NSObject>
                                             @end
                       2)类遵守协议的格式:
                                @interface 类名:父类名<协议,协议>
                                @end
                      protocol使用注意事项:
                            1)遵守了协议相当于该类有了方法的声明;
                            2)一个协议也能遵守其他协议,一个类可以遵守多个协议
                            3)只要父类遵守了某个协议,那么子类也能遵守,可以实现协议的方法相当于重写父类方法;
                            4)protocol 声明的方法可以让任何类去实现;
                            5)<NSObject> 基协议
                    4.类型限制:
                           id 类型/类<协议>,关联关系中的类型限制 @property(nounautomic,strong) *Dog<协议> dog;
                        

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马