如果你可以向Cocoa添加任何东西,它会是什么?是否有任何功能,主要或次要,你会说在Cocoa中缺少.也许有一个轮子你不得不反复发明因为框架中的遗漏?
内置的正则表达式支持(一个la RegexKit)非常方便.NSRegularExpression在iOS 4.0+上可用,但在Mac OS X上仍然无法使用.
从大文本文件逐步读取NSString对象而不将整个内容加载到内存中的简单方法.(NSInputStream和NSFileHandle只是没有衡量.)
能够选择性地使NSSet/NSMutableSet/NSCountedSet以排序的顺序存储和枚举对象(如二进制搜索树)肯定会受到欢迎.同样适用于Cocoa数组 - 目前我必须调用类似的东西-[NSArray sortedArrayUsingSelector:]
或-[NSMutableArray sortUsingSelector:]
获取一个排序数组,对于集合,我必须首先创建数组.
堆/优先级队列.CFBinaryHeap周围的Cocoa包装器(它绝对不像Cocoa集合那么容易使用)可能会起作用.
可以为每个键存储多个值的字典,通常称为多集.NSCountedSet几乎是一个multiset/bag,对于键值关联(NSMultiDictionary?)而言,它是相同的,而不是必须自己滚动.
FSEvents的友好包装器.(CFFileDescriptor完成了一些工作,但它不是Cocoa-easy.)
一种从格式字符串和对象数组(不仅仅是varargs)创建NSString的方法.这个答案显示了一个例子.让它与原语一起使用会很棘手......也许是NSPointerArray?
一致的集中式API,可简化各种语言环境的电话号码格式化(和解析).目前,您必须使用NSNumberFormatter(或NSScanner)进行自己的操作,并且该过程繁琐且容易出错.(例如,请参阅NSNumberFormatter以格式化US电话号码并从NSString中删除除号码之外的所有号码.)
当然,我一般都喜欢各种各样的数据结构,尽管与某些语言相比,Cocoa的简洁性令人耳目一新.
一种指定在dealloc中自动释放的复制/保留属性的方法.也许
@property (nonatomic, copy, dealloc) NSString* name;
当然还有RegexKit.