cocoa - 独立重用已声明的强大属性

标签 cocoa attributes properties instance automatic-ref-counting

我创建了一个类 (MyClass),需要它的多个实例,每个实例都包含多个计时器、文本字段和标签。由于 ARC,当计时器失效时,目标就会被释放,但有时我会让它们失效并重新启动它们,所以我不能让它们释放。因此,我转到 AppDelegate(这是创建 MyClass 实例的类)并将 MyClass 声明为强属性。 @property (strong) MyClass *myInstance; 这部分解决了问题,每当我创建另一个实例时,前一个实例就会丢失它的引用,并且如果我尝试在旧实例中重新启动 NSTimer,我访问错误。如果我重新启动最后计时器,就没有问题。

我相信,由于 myInstance 是一种属性,每当我创建一个新属性时,AppDelegate 都会重写旧的属性,从而丢失旧的引用。我需要能够保留强属性,但以某种方式使其对每个实例独立工作,或者找到另一种方法使 myInstance 成为强引用,而不必是属性。

最佳答案

将您的实例放入 NSSet 或 NSArray 等容器中。

关于cocoa - 独立重用已声明的强大属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8857460/

相关文章:

objective-c - 有没有办法在 Cocoa 中更改用户桌面目录路径值?

c# - 如何在不使用反射的情况下通过名称动态访问属性?

java - 检测未使用的属性键的简单方法?

javascript - 检查对象是否具有javascript中的一组属性

objective-c - NSOpenPanel 的 setDirectoryURL 不起作用

objective-c - 实现 growl 时遇到的问题

macos - CoreAnalytics::Client/FrameworkConfiguration::init 内神秘崩溃

c# - 在 dotnet/.NET 中实现自定义属性的最佳方式是什么?

java - 如何使用 JAVA 设置文件的通用属性,如标题、主题、评论、公司等

jQuery 选择器 - 检查当前 div 属性是否包含文本?