automatic-ref-counting 相关问题

自动引用计数(ARC)是一种编译器功能,它提供Objective-C和Swift对象的自动内存管理。

为什么Mutex中的计数器与计数器的增量不一致?

虽然我正在练习代码,但要了解如何在多个线程中锁定和解锁互斥锁。我使用for循环运行10个不同的线程,并启动了一个互斥锁计数器变量。实际的...

回答 1 投票 0

Rust:为什么带有Vec >的指针在多线程中无法正常写入数据?

Rust:为什么使用Vec的指针>在多线程中无法正常写入数据?我想在多线程并行中修改big vec。工作正常:u32使用std :: thread;使用std :: sync :: Arc; fn main(){让...

回答 1 投票 -1

Objective-C ++中的智能指针可以完全替代ARC吗?

我是Cocoa框架的初学者,并且有一个问题:假设我在应用程序中不使用“裸” NS指针,那么ARC对我来说是多余的吗? :-)换句话说,是否执行以下...

回答 1 投票 0

VBA绕圆弧

对于我们的一份报告,我试图将圆弧定位在一个圆上,以显示客户表现的范围。到目前为止,sub确实构建了与......>

回答 1 投票 1

保留对Objective-C中属性的引用

我在课堂上有一个自定义对象属性。我在函数中分配此对象。一旦函数完成,将释放属性。我不希望那样发生。我想要对象...

回答 1 投票 0

我如何比较Arc 与T?

我试图将Arc更像其基础数据一样对待,特别是我试图使用重载运算符。以下代码给出了错误,但这是我的尝试。使用std :: cmp :: Ordering;使用std :: ...

回答 1 投票 2

如何测试ARC下弱引用是否可以使用Objective-C对象?

Apple提到了两种方法supportWeakPointers,这在ARC发行说明中有所记录,但在实际的运行时和框架中从未提及。还可以观察到,此方法是...

回答 1 投票 4


在视线中构成弧线

我正在尝试使用Eyeshot 12构造圆弧。我使用了构造函数:Arc(平面,2D中心点,2D起点,2D终点)。我有两个弧线。其中之一的终点恰好是...

回答 1 投票 0

如何删除html画布中不需要的行?

我想知道如何删除在我的大脑之间创建的线。在学校,我们应该在一个HTML页面中创建一个Brownian Motion,并在画布中将画布分组,而我是其中的一个...

回答 1 投票 1

ARC不适用于struct和enum,它们如何在Swift中释放

由于ARC不适用于struct和enum,那么如何从内存中释放它们?当它在面试中问到时,我必须陷入困境,并尝试找到正确的答案,但找不到太多...

回答 1 投票 0

更新到ARC Obj-c后未播放声音

我最近用自动参考计数(ARC)更新了我的项目,它破坏了我的playAudio方法(以前工作得很完美)。我是ARC新手,但可以肯定是由于保留计数或...

回答 1 投票 0

iOS:将对象设置为nil时,ARC和MRC有什么区别?

在iOS的MRC中,当对象设置为nil时,myObject = nil;有人说会发生内存泄漏,因为myObject不会指向内存地址。它指向的内存...

回答 1 投票 1

Objective-C init quirks

在类接口中,我定义了一些ivar @property(strong,nonatomic)id initEst; //初始估计这可以毫无问题地进行编译,但是当我向initEst发出消息时,我得到了意外的结果。 我已经对此进行了更多测试,并且似乎有[[3个条件可以使这个特殊问题出现。 在我的特殊情况下,ivar的Protocol也与包含类的相同。这似乎是此问题浮出水面的一项附加要求(此处指的是我之前未提及此问题的答案)。 因此,请详细说明我先前的答案。如果 initXXX是一个ivar id类型的 实现一个Protocol,它与包含的类的 same相同 然后,Objective-C + ARC编译器将愉快地编译代码,但无法执行它。 这里是我用来测试的代码示例 @interface Dog : NSObject < Animal > @property (nonatomic,strong) id < Animal > initState; @end 类似这样的东西会引起问题,只是因为名称以 init 开头。更改名称,所有问题都会消失。 作为参考,此生成的运行时错误为 已取消分配时已释放的狗对象 此代码段非常抽象,但是这可能会在您需要指定一些初始条件的地方以及您将ivar initXxx命名为自然的地方咬住您,但是请注意,如果您使用Objective-C,您将没有那么奢侈或编译器会警告您这是错误的。 原始错误似乎与内存分配有关,并且使我怀疑我使用 autoreleasepool 的方式,但是现在我相当确信这与问题无关。 全部有关ARC自动内存管理的规则。初始化程序对如何处理返回的值有特殊的规则:它将保留并返回。参见https://clang.llvm.org/docs/AutomaticReferenceCounting.html#semantics-of-init。 一般而言,Objective-C,尤其是ARC,对于方法名称的含义有一些非常严格的规则。 initXXX的意思是“这是一个初始化程序”。如果这不是初始化程序,请不要使用init前缀。 您可以完全关闭ARC并自行管理内存,但是遵守约定会更容易,并且在与其他语言(例如Swift)进行交互的情况下更适合。

回答 2 投票 0

Objective-C初始化和自动释放池怪癖

在类接口中,我定义了一些属性@property(strong,nonatomic)id initEst; //初始估计,然后再在类消息中执行... @autoreleasepool {...

回答 2 投票 0

NotifcationCenter导致强大的参考周期-Swift 5

使用NotifcationCenter时,似乎获得了强大的参考周期。我正在使用NotificationCenter观察设备的旋转。 (尽管有些人认为这不是最好的方法……

回答 2 投票 1

Objective-C EXC-BAD-ACCESS-无需ARC即可解决?

作为参考,我正在使用Xcode 11.3,我遇到了一个已发布对象的问题,它导致EXC BAD ACCESS。好消息是我确切地知道对象是什么。我不知道的...

回答 1 投票 0

在Swift中如何知道结构已从内存中删除?

在swift类中,类型具有deinit()方法,在其中我们可以定义将从内存中删除类的实例。我们如何才能知道将其从内存中删除的结构?例如,struct ...

回答 1 投票 10

人造丝为什么不需要Arc <>?

在Rust编程的第465页上,您可以使用std :: sync :: Arc找到代码和说明(我加了强调); fn process_files_in_parallel(文件名:Vec ,...

回答 1 投票 0

保持ObjectiveC对象在函数范围之外有效

我对设置输入指针的变量时的ARC行为有些困惑,并且期望在函数范围之外保持有效。考虑下面的示例使用...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.