240 发简信
IP属地:北京
  • 120
    初入简书:如何设置代码块格式和高亮

    之前在简书发布了第一篇文章,本来采用的是无代码框的富文本形式展现的,不过发现可以在设置中选择markdown, 然后在代码段前后加3个 是esc下面的键, 即可完成代码框的显...

  • 120
    如何在简书上利用Markdown插入代码片段

    简书是一款很有Google Docs感觉的产品,而且甚至更强大,因为其集成了Markdown和在线内容社区的强大功能。在某种程度上,我认为简书是Google Docs+Mar...

  • iOS-UITableViewCell上的Button点击无高亮效果

    在iOS开发中,一直存在这样一个问题,在TableViewCell上添加Button后,点击Button的时候,发现没有高亮效果,除非长按下去才能看到普通的Button选中效...

  • 感觉楼主的问题应该偏向于block执行过程中,strongSelf还没赋值成功,self被释放后所引发的问题~
    weakSelf变为nil的时候,应该表示self本身已经是nil了吧,那么self.block相当于直接向nil发送消息,block本身应该不会被执行,strongSelf就是为了持有self防止在block执行过程中被释放而导致的非原子操作,引发异常,所以必须先strong一下,用新的strongSelf来强持有self,这样才能保证在多线程环境下,block中的内容会是原子操作,加上楼主的提示显然更保险~
    因为没有涉及KVO,所以一般都没引发问题,以后的格式感觉就变成这样吧:
    self.block = ^{
    __strong typeof(weakSelf) strongSelf = weakSelf;
    if(!strongSelf){
    //TODO
    }
    }

    Weak-Strong-Dance真的安全吗?

    绝大多数iOS开发者用过block,并且知道用 __weak 的方式去解决循环引用的问题。而进阶一些的开发者则了解Weak-Strong-Dance,那么什么是Weak-St...

  • 使用dispatch_group来进行线程同步

    我的上篇文章iOS中多个网络请求的同步问题总结中用到了dispatch_group来进行线程同步,对用法不是特别熟悉所以整理这篇文章来加深记忆(闲着也是闲着)。 一、简单介绍...