Jan Nash

2个库

WeakRefCollections

不幸的是,Swift(目前)还没有内置(本地)Collections(类似于‘Collection 协议’ -> Arrays,Sets,Dictionaries)来支持对它们的元素的弱引用。好吧,有NSMapTable和NSHashTable。您是否曾经尝试使用这些?for-in 迭代?不。 .forEach()?不。酷的函数式编程,像 .map(),.reduce() 和 .filter() 这样的高阶函数?不。

通过使用 .allObjects 或者回到 NSEnumerators,你也能实现这些功能,你可能会说... 但是你现在用的是 Swift。你不想这样做,对吧?你想要轻量级、易读的语法,没有烦人的技巧和解决方案。也许你甚至正在编写一个服务器应用程序,所以你不想必须导入 Foundation。

这个框架(将要)是一个谦卑的尝试,旨在提供能够正确支持其元素弱引用的 Collections。不仅仅是一个伪 Set(NSHashTable)和一个复杂的 Dictionary(NSMapTable),还包括了 Array、Set、Dictionary、双向 Dictionary 以及那些类型应有的协议一致性。

许可证: MIT

  • Swift