这些类提供了 Objective-C 的稀疏数组功能。它们管理有序对象的集合,类似于常规数组,但可以包含 nil 条目。效率来自于 nil 条目不占用任何空间,它根本不存在。它们可以在任何使用 NSArray 或 NSMutableArray 的地方使用,但除非数组实际上有空条目,否则效率会更低。
DSSparseArray 提供了不可变数组功能,可以包含空或 nil 条目。
DSMutableSparseArray 提供了可变数组功能,可以包含空或 nil 条目。
这些类内部使用 NSIndexSet 来跟踪数组中哪些条目包含对象,以及使用 NDDictionary 来保留这些对象本身。
将 DSSparseArray.h、DSSparseArray.m、DSSparseArrayEnumerator.h 和 DSSparseArrayEnumerator.m 文件复制到您的项目中,然后像使用 NSArray 或 NSMutableArray 一样使用,替换为 DSSparseArray 或 DSMutableSparseArray。应该是与 iOS 或 Mac OS X 兼容的。
MIT 许可证 (MIT)
版权所有 © 2014 Syntonicity, LLC
在此,免费且无附带条件地授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的个人,在不作限制的情况下处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许因软件而获得副本的个人进行此类操作,前提是遵守以下条件:
所有副本或软件的实质性部分的上方必须包含上述版权声明和本许可声明。
软件按“原样”提供,不提供任何形式的保证,明示或暗示,包括但不限于适用性、特定用途和侵权方面的保证。在任何情况下,作者或版权所有者均不对因软件、其使用或操作导致的任何索赔、损害或其他责任承担责任,无论该责任基于合同、侵权或其他原因。