objective-c-blocks相关内容

异步实际上是如何在幕后工作的?

我一直在研究多线程、回调、调度队列,以同步和异步的方式... 我研究得越多,我就越困惑和沮丧到了我似乎永远无法理解的地步。请有人能把我引向正确的方向开始吧。到目前为止,我发现的大多数信息都是关于IS的功能和优势。我真正想知道的是,当使用回调和单线程进行异步操作时,函数如何立即返回。 [这里]的(http://nathansjslessons.appspot.com/lesson?id=1085)我 ..

OBJ-C:__块变量不保留数据

我想我这里可能有一个异步问题,这很刺痛,因为我以为我已经解决了它。无论如何,我正在进行一系列Web服务调用,如下所示: //get the client data __block NSArray* arrClientPAs; [dataManager getJSONData:strWebService withBlock:^(id results, NSError* error) { ..
发布时间:2022-08-21 20:59:07 移动开发

您如何在延迟后触发块,例如 -performSelector:withObject:afterDelay:?

有没有办法在延迟后调用带有原始参数的块,例如使用 performSelector:withObject:afterDelay: 但带有像 int/double/float? 解决方案 我想你正在寻找 dispatch_after().它要求您的块不接受任何参数,但您可以让块从本地范围捕获这些变量. int 参数1 = 12;浮动参数2 = 144.1;//延迟执行我的块 10 秒.dis ..

“__block"是什么意思?关键字是什么意思?

Objective-C 中的 __block 关键字究竟是什么意思?我知道它允许您修改块内的变量,但我想知道... 它究竟告诉编译器什么? 它还有其他作用吗? 如果仅此而已,那么为什么首先需要它? 它在任何地方的文档中吗?(我找不到). 解决方案 它告诉编译器任何被它标记的变量在块内使用时都必须以特殊方式处理.通常,块中也使用的变量及其内容会被复制,因此对这些变量所做的任何修改 ..
发布时间:2022-01-30 19:05:23 移动开发

使 iOS 块同步执行

如何让一个block同步执行,或者让函数在return语句之前等待handler,这样数据才能从block传回来? -(id)performRequest:(id)args{__block NSData *data = nil;[xyzclass requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL 授权 ..
发布时间:2022-01-19 21:02:29 移动开发

“代表"的替代方案是什么?在控制器之间传递数据?

是否有替代“委托"的方法将数据从一个控制器传回另一个控制器? 实现一个委托似乎需要做很多工作,只是为了将结果从子控制器传回给父控制器.没有别的方法吗?“块"是一个答案吗?如果是这样,一些示例代码会很棒. 解决方案 你可以使用很多方法: 调用超级控制器的方法,可能需要强制转换 通知 简单的Key-Value-Observing 核心数据 1 的示例. 你的 Ma ..
发布时间:2022-01-18 12:37:46 移动开发

UIButton 块相当于 addTarget:action:forControlEvents: 方法?

我环顾四周,但在互联网上找不到这个,也没有在 Apple 文档的任何地方找到,所以我猜它不存在. 但是有没有 iOS4 块等效的 API: [button addTarget:self action:@selector(tappy:) forControlEvents:UIControlEventTouchUpInside]; 我想这可以使用一个类别来实现,但由于极端懒惰,我不想自己写这 ..
发布时间:2022-01-17 23:30:00 移动开发

ARC,块中的 ivars 和通过捕获的自我的参考周期

我在纯 iOS5/ARC 环境中工作,所以我可以根据需要使用 __weak 引用.在许多情况下,我确实在块中引用了 ivars,最值得注意的是,移动视图的动画块,例如,我的视图控制器类的属性. 我的问题: 在一个块中最简单的 ivars 使用中,我是在创建一个引用循环吗?我是否需要使用 __weak self/strong self 技术每次我编写一个操作包含对象的实例变量的块? ..

使用 reloadData 方法重新加载 UICollectionView 会在重新加载数据之前立即返回

我需要知道何时重新加载 UICollectionView 以便之后配置单元格(因为我不是单元格的数据源 - 否则已经完成了......) 我尝试过诸如 之类的代码 [self.collectionView reloadData];[自配置单元];//轰隆隆!细胞为零 我也尝试过使用 [self.collectionView performBatchUpdates:^{[self.co ..

iOS 不是典型的后台位置跟踪计时器问题

我正在开发一个在后台跟踪用户位置的示例应用程序,但我不想让定位服务始终处于启用状态,但我的计时器中的某些内容无法正常运行. 我的想法是,每隔 x 分钟,服务就会继续,当它有一个正确的新位置时,它会再次发布,现在设置为 10 秒,仅用于测试.(显着的 LocationChange 不是诀窍,不够准确) 我搜索了很多(iOS 开发中心 + StackOverflow)并找到了“新的"后台定 ..
发布时间:2022-01-08 13:16:40 移动开发

iPhone 应用程序崩溃并出现错误 [UIApplication _cachedSystemAnimationFenceCreatingIfNecessary:]

我在应用商店中有一个使用 Touch ID 的 iPhone 应用.如果启用了 Touch ID,则用户通过它进行身份验证,否则用户需要输入他的 PIN 才能登录应用程序. IOS 10.1 发布后,当我查看崩溃报告时,崩溃次数增加了.从崩溃报告中,它指向 [UIApplication _cachedSystemAnimationFenceCreatingIfNecessary:] 并且当我 ..
发布时间:2022-01-05 08:52:00 移动开发