29得票4回答
正确管理addObserverForName:object:queue:usingBlock:方法

我对Objective-C中的块还很陌生,想知道我的伪代码是否正确。我不确定仅仅删除观察者是否足够,或者我需要调用removeObserver:name:object:。-(void) scan { Scanner *scanner = [[Scanner alloc] init]; ...

29得票7回答
Objective-C在__destroy_helper_block_时崩溃

我有一个iOS应用程序,在调用__destroy_helper_block_253和__destroy_helper_block_278等函数时崩溃,我确实不知道"destroy_helper_block"指的是什么,以及它后面的数字应该指向什么。 请问有没有人能够提供一些提示,帮助我追踪这...

28得票5回答
检查Objective-C块的类型?

这主要是一种好奇心,我不确定它的实际用途是什么,但还是来试试。 由于块也是Objective-C对象,是否可以检查它们的类型?也就是说,它是否响应 isKindOfClass: 消息,如何使用该消息来处理块? 我的天真想法是它可能像这样:-(void) aMethod { type...

28得票3回答
在ARC下,我是否仍然需要复制/Block_copy块?

我刚刚偶然发现了以下SO主题:为什么我们应该复制块而不是保留?它包含以下语句: 然而,从iOS 6开始,它们被视为常规对象,因此您无需担心。 我对这个断言感到非常困惑,所以我的问题是:这个断言是否真的意味着Objective-C开发人员不再需要使用@property(copy) b...

27得票3回答
Objective C - 什么是枚举数组的最快和最有效的方法?

编辑 我阅读了一些关于块和快速枚举和GCD等方面的文章。@Bbum撰写了许多有关GCD和块的文章,他说块枚举方法始终比快速枚举等效方法更快。您可以在这里阅读他的推理。 虽然这是一次有趣的、知识性的对话,但我同意那些认为它确实取决于手头的任务的人。 我有一些任务要完成,我需要它们快速、廉价、高...

27得票2回答
使用__block和__weak

我已经阅读了这篇帖子:什么是“__block”关键字?,讨论了__block的用途,但有一个回答让我感到困惑。它说__block用于避免保留循环,但在它下面的评论中让我不确定。 我像这样使用它: self.someProperty = x; //where x is some object ...

26得票2回答
ARC,块中的ivars和通过Captured Self引用循环问题

我在一个纯iOS5 / ARC环境中工作,因此可以根据需要使用__weak引用。在许多情况下,尤其是移动视图的动画块(这些视图是视图控制器类的属性)中,我会在块中引用实例变量。 我的问题: 在最简单的ivar在block中的用法中,我是否会创建引用循环?每次编写操纵包含对象的实例变量...

26得票3回答
使用reloadData方法重新加载UICollectionView会立即返回,而不是在重新加载数据之前等待。

我需要知道何时重新加载UICollectionView已完成,以便在此之后配置单元格(因为我不是单元格的数据源 - 否则早就完成了...) 我尝试过这样的代码:[self.collectionView reloadData]; [self configure cells]; // BOOM!...

26得票3回答
使用块的目的是什么?

我希望在我的应用程序中使用blocks,但我不太了解有关blocks的任何信息。有人可以解释一下我应该如何以及为什么要在我的代码中使用blocks吗?

25得票6回答
使iOS块同步执行

如何使一个代码块同步执行,或者让函数在返回语句之前等待处理程序,这样数据就可以从代码块中传回?-(id)performRequest:(id)args { __block NSData *data = nil; [xyzclass requestAccessToAccounts...