没有垃圾收集器的项目 osx

Project without garbage collector osx

在我的学校,我们收到了用任何编程语言做项目的任务,但是自定义数据结构和编程语言不能有垃圾收集器。建议使用 C++。但是我在 objective-c 方面有更好的技能。所以我在我的 Xcode 项目中禁用了 ARC,现在我应该在 Java 中创建像 ArrayList 这样的自定义数据结构。我不能使用 NSMutableArray 或 NSArray。是否可以像在 C++ 中那样使用内存并创建自定义数据结构?

感谢您的回复

您有两个基本选择:

  1. struct 用于您的数据结构,将 malloc/free(和朋友)用于您的动态内存分配——就像您在 C(++) 中所做的那样;或
  2. 您可以使用 NSObject 导出 类 和 alloc/init/new/retain/release (和朋友)为您的动态内存管理。为此,您必须禁用 ARC。

鉴于这是一项学校任务,您可能希望检查第二项是否可以接受 - 即使您手动调用操作,您仍在使用 Objective-C 引用计数机制。你的教授可能不认为可以接受。

第一个选择更基本,您将对何时不再需要内存的所有决定负全部责任。实际上,您可以选择实现自己的引用计数甚至标记清除。

HTH