注册 登录
主题 : 请教Block的问题
级别: 精灵王
状态: 未签到 - [25天]
UID: 597817
精华: 0
发帖: 905
可可豆: 1464 CB
威望: 1407 点
在线时间: 303(时)
注册时间: 2016-11-17
最后登录: 2017-07-26
楼主 : 发表于: 2017-07-14 10:16    发自: Web Page
来源于 一般提问 分类

请教Block的问题   

    
     __weak typeof(self) weakself = self;

    [UIView animateWithDuration:1 animations:^{

在这里面用 self 后 退出控制器不走 dealloc  方法,但网上说单向的强引用 可以直接用self; 我用 weakself 后就走dealloc 方法了;

我到底该用哪个呢??

        } completion:^(BOOL finished) {
            
        }];

级别: 精灵王
状态: 未签到 - [25天]
UID: 597817
精华: 0
发帖: 905
可可豆: 1464 CB
威望: 1407 点
在线时间: 303(时)
注册时间: 2016-11-17
最后登录: 2017-07-26
沙发 : 发表于: 2017-07-14 10:24    发自: Web Page
这个有谁知道吗
级别: 精灵王
状态: 已签到 - [159天]
UID: 594651
精华: 0
发帖: 1011
可可豆: 1900 CB
威望: 1589 点
在线时间: 482(时)
注册时间: 2016-10-20
最后登录: 2017-07-26
板凳 : 发表于: 2017-07-14 10:56    发自: Web Page
回 1楼(zlqios) 的帖子
大兄弟水起来和我差不多。233333
这个等级
级别: 精灵王
状态: 已签到 - [159天]
UID: 594651
精华: 0
发帖: 1011
可可豆: 1900 CB
威望: 1589 点
在线时间: 482(时)
注册时间: 2016-10-20
最后登录: 2017-07-26
3 楼:  发表于: 2017-07-14 10:57    发自: Web Page
要是会被销毁 你就用strong self
级别: 骑士
状态: 未签到 - [1天]
UID: 291181
精华: 0
发帖: 304
可可豆: 412 CB
威望: 397 点
在线时间: 914(时)
注册时间: 2014-02-09
最后登录: 2017-07-25
4 楼:  发表于: 2017-07-14 11:04    发自: Web Page
不会吧,这里 UIView 应该会在动画执行完成后释放掉 block 的呀, block 释放之后 self 应该也可以释放的呀
级别: 圣骑士

UID: 559669
精华: 0
发帖: 685
可可豆: 1055 CB
威望: 1045 点
在线时间: 640(时)
注册时间: 2016-04-25
最后登录: 2017-07-26
5 楼:  发表于: 2017-07-14 11:07    发自: Web Page
self就没持有block吧
没有什么事情是一台GUNDAM解决不了的,如果有,那就两台.
级别: 侠客
UID: 513292
精华: 0
发帖: 129
可可豆: 229 CB
威望: 219 点
在线时间: 779(时)
注册时间: 2015-10-13
最后登录: 2017-07-25
6 楼:  发表于: 2017-07-14 11:11    发自: Web Page
不执行delloc不是这个问题,你再检查下其他地方.
级别: 精灵王
UID: 133114
精华: 0
发帖: 1048
可可豆: 1146 CB
威望: 1247 点
在线时间: 1142(时)
注册时间: 2012-03-28
最后登录: 2017-07-26
7 楼:  发表于: 2017-07-14 11:11    发自: Web Page
人家说的没问题,那只能是你写的有问题了,你需要发完整block
级别: 精灵王
状态: 未签到 - [25天]
UID: 597817
精华: 0
发帖: 905
可可豆: 1464 CB
威望: 1407 点
在线时间: 303(时)
注册时间: 2016-11-17
最后登录: 2017-07-26
8 楼:  发表于: 2017-07-14 11:21    发自: Web Page
回 6楼(吃鱼的梵高) 的帖子
控制器里面的其他代码很简单,就这一个动画的block,我只把self  改成 weakself 后,返回上一个控制器就走dealloc方法了
级别: 精灵王
状态: 未签到 - [25天]
UID: 597817
精华: 0
发帖: 905
可可豆: 1464 CB
威望: 1407 点
在线时间: 303(时)
注册时间: 2016-11-17
最后登录: 2017-07-26
9 楼:  发表于: 2017-07-14 11:22    发自: Web Page
回 3楼(Lufer) 的帖子
我用 self 后返回上一个控制器,不走dealloc方法,用weakself 后就走了
描述
快速回复

关注本帖(如果有新回复会站内信通知您)

验证问题:
苹果公司现任CEO是谁?2字 正确答案:库克

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部