自动引用计数 (ARC) 中的 NSThreads

Posted

技术标签:

【中文标题】自动引用计数 (ARC) 中的 NSThreads【英文标题】:NSThreads in Automatic Reference Counting(ARC) 【发布时间】:2011-08-22 14:59:56 【问题描述】:

我正在尝试在 4.3.5 中将 NSThreads 与 ARC 一起使用。使用 ios 5 一切都很完美,但如果我在 4.3 等较旧的 iOS 上尝试它,它就会泄漏。通常我会为 NSThreads 使用 Autoreleasepool 但由于 ARC 中没有手动 Autoreleasepool 我不知道如何解决这个问题。

在我启动线程后,我在控制台中收到大量消息,例如“__NSAutoreleaseNoPool(): NSComparisonPredicate 类的对象 0x4567b40 自动释放,没有适当的池 - 只是泄漏”。

NSThread detachNewThreadSelector:@selector(showAlert) toTarget:self withObject:nil];

如何正确使用 ARC 和 iOS 5.0 之前的线程。

干杯 网路

【问题讨论】:

【参考方案1】:
-(void)showAlert

    @autoreleasepool 
        // Your code.
    

【讨论】:

通过“// 你的代码”。他表示选择器中的代码,在本例中为“showAlert”。我花了一分钟来解析它。 为了清楚起见,我编辑了代码 sn-p。本的评论提到了乔纳森的旧版本,没有周围的“showAlert”东西。 :)

以上是关于自动引用计数 (ARC) 中的 NSThreads的主要内容,如果未能解决你的问题,请参考以下文章

自动引用计数

ARC内存管理机制详解

[OC学习笔记]自动引用计数

[OC学习笔记]自动引用计数初学

Swift学习笔记-自动引用计数弱引用和无主引用

Swift学习笔记-自动引用计数弱引用和无主引用