今天在测试公司项目的时候,偶然发现了一个问题,因为公司项目已经成形了,自己虽有心将一些东西大改之,无奈,上头有管着的。于是,在测试页面跳转的时候,来回切页面,结果崩。崩。崩。因为这个项目中的网络请求是单独封装的一个类,采用代理回传的方式返回结果,所以当我某个类A创建公共类对象,使用公共类网络请求方法,设代理为self,在还没有触发回调函数的时候页面跳转到类B,然后再跳转重新创建一个类A,而此时存在于上一个类A中的请求正好回调,而上一个类A已经销毁了,这个时候就会发生崩溃,崩溃的原因可能是采用assign修饰代理时,当页面销毁时这个对应的代理地址并没置为nil,从而导致成为了一个野指针,然后在调用方法时便会产生崩溃。采用weak关键字便不会出现此错误,他会在销毁时便将其地址置为nil,不会造成崩溃。
关于ARC下修饰代理用assign还是weak
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...