iOS Block
iOSTianNan
这个作者很懒,什么都没留下…
展开
-
iOS 防止循环引用的两个方法
__block UITableViewController *weakself = self; [self.tableView addJElasticPullToRefreshViewWithActionHandler:^{ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC原创 2016-04-21 10:28:32 · 1609 阅读 · 0 评论 -
[iOS报错]Typedef redefinition with different types ('void (^)(NSData *__strong)' vs 'void (^)(NSDictio
今天接入一个SDK 在.h的方法中 SDK定义的一个Block参数类型出现了问题 报如下错误Typedef redefinition with different types ('void (^)(NSData *__strong)' vs 'void (^)(NSDictionary *__strong)')大概意思就是 类型出现了错误,存在类型冲突,为提示 SDK的Demo不存在报错,懒的去找上原创 2016-09-30 13:19:26 · 10988 阅读 · 0 评论 -
[iOS Block] 视图A.B之间的回调实例
背景介绍 有两个视图控制器 A B B作为A的subViewController 要求 在B上处理点击事件 , 改变A上的元素属性值 一般处理的方法有代理/ 通知 / Block 这里用Block来做1.在B上 typeDef 一个blocktypedef void(^PayWayViewControllerBlock) (NSString *payWayTpye , UIView原创 2016-07-01 13:29:40 · 1429 阅读 · 0 评论 -
[RunLoop 让返回值在耗时操作完成后返回]
有这么样一个需求- (NSString*)waittingFunc{ // 这里执行耗时操作 NSString *param = [self 某耗时操作方法]; return param;}可以预见的是, waittingFunc()的运行结果一定是返回nil, 而不是等到耗时操作执行完成,且有值返回赋值给param之后,才执行 return param;因此,就需要一原创 2017-11-29 11:18:36 · 891 阅读 · 0 评论 -
[__block / __weak 影响dealloc 释放]
参考iOS 控制器POP后dealloc方法不走,通知监听无法移除的问题 assign weak copy block __block与__weak的区别Bug背景自定义一个导航控件,在处理左右按钮点击事件时,没有采用代理方法,而是使用Block#pragma mark - 重写父类-导航设置方法- (void)setNavCoverView{ [super setNavCoverVie转载 2017-11-22 16:37:00 · 853 阅读 · 0 评论 -
[导航控制器中,各个控制器的dealloc方法调用时机]
RT [__block / __weak 影响dealloc 释放]原创 2017-11-23 10:55:37 · 744 阅读 · 0 评论 -
[pop后不走dealloc 再push进来会走一次dealloc]问题记录
关于 NSTimer 和 NSRunLoop 的一些理解 https://www.cnblogs.com/shisishao/p/6564997.htmlIOS开发中NSRunloop跟NSTimer的问题 https://www.cnblogs.com/xwang/p/3547685.html+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)原创 2017-12-28 19:34:50 · 1474 阅读 · 0 评论 -
iOS中Block循环引用及解决方案(记录备用)
Block循环引用以及解决方案 此贴推荐重点阅读↓ 参考贴:深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用 此贴推荐重点阅读↑ iOS开发——Block引起循环引用的解决方案 循环引用,看我就对了 Block循环引用的三种解决方式 iOS中block的循环引用问题 ...转载 2018-06-19 21:34:30 · 3648 阅读 · 0 评论 -
[iOS] GCD 调度组进行 下载任务的代码 执行
调度组执行代码- (void)group{ //1. 创建调度组 dispatch_group_t group = dispatch_group_create(); //2. 创建队列 dispatch_queue_t q = dispatch_get_global_queue(0, 0); //3. 调度组 //3.1 任务A 入组 ...转载 2018-09-04 17:17:43 · 349 阅读 · 0 评论