Objective C中是否有可以导入和使用的Stack类?

Maz*_*yod 6 cocoa stack objective-c nsmutablearray

我的应用程序中需要一个堆栈ADT.我想避免制作包装纸NSMutableArray; 某个地方的基金会必须有一个有效的实施.

那么,我该如何访问它?

Jon*_*ing 15

你有几个选择; 如果你真的想要一个堆栈,你可以使用std::stackSTL.请确保包含#import <stack>重命名.m使用它的任何文件.mm.

另一种选择是编写一个Objective-C类,它包装std::stack或提供堆栈接口NSMutableArray.尽管你的意愿相反,我还是把它包括在内,因为除非你实际上对使用的代码进行了分析,否则你NSMutableArray绝对没有任何商业抱怨它的表现.

  • @Mazyod:它基本上已经为你实现了; 只需使用`addObject:`和`lastObject`.如果你真的想把它们称为`push:`和`pop`,那就做一个类扩展. (8认同)
  • @Mazyod:一篇关于"NSArray"和表演的有趣文章:[我们的阵列,不是](http://ridiculousfish.com/blog/archives/2005/12/23/array/#fish_made_a_mess) (5认同)
  • @Jonathan Sterling:如果你试图找到一些奇怪的Mac编程细节的详细解释,你看到了某个地方,95%的时间你可以检查ridiculous_fish和NSBlog,它将会出现在其中一个上面. (2认同)