2022-01-25 一个诡异的bug iOS中 time(0) 和 NSUserDefaults 一起用产生的bug

贴代码

  1. 添加监听程序回到前台通知
  [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(zse_applicationDidBecomeActive) name:UIApplicationDidBecomeActiveNotification
                                               object:nil];
  1. 用NSUserDefaults 存了个时间戳 判断是否距离上次过了 xx时间 过了的话刷新
    就这几行代码就会发生bug 下拉刷新动画不会执行,也不会进行请求接口。
-(void)zse_applicationDidBecomeActive{    
    NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
    NSInteger value =  [def integerForKey:@"zse_applicationDidBecomeActive_time"];
    if (value < time(0)) {
        [self.collectionView.mj_header beginRefreshing];
        [def setInteger:time(0) forKey:@"zse_applicationDidBecomeActive_time"];
    }
    
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,271评论 8 265
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,679评论 1 32
  • OC语言基础 1.类与对象 类方法 OC的类方法只有2种:静态方法和实例方法两种 在OC中,只要方法声明在@int...
    奇异果好补阅读 4,523评论 0 11
  • 最近一朋友正准备跳槽,就从各处搜索整理一些基础,便于朋友复习,也便于自己复习查看. 1. 回答person的ret...
    smile丽语阅读 1,906评论 0 7
  • 目录 1.解释self = [super init]方法 容错处理,当父类初始化失败,会返回一个nil,表示初始化...
    勇敢的_心_阅读 1,557评论 0 4

友情链接更多精彩内容