当前位置:  开发笔记 > IOS > 正文

可可缺少什么?

如何解决《可可缺少什么?》经验,为你挑选了2个好方法。

如果你可以向Cocoa添加任何东西,它会是什么?是否有任何功能,主要或次要,你会说在Cocoa中缺少.也许有一个轮子你不得不反复发明因为框架中的遗漏?



1> Quinn Taylor..:

内置的正则表达式支持(一个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的简洁性令人耳目一新.


NSPredicate至少包括通过MATCHES表达式提供的基本正则表达式.

2> Peter N Lewi..:

一种指定在dealloc中自动释放的复制/保留属性的方法.也许

@property (nonatomic, copy, dealloc) NSString* name;

当然还有RegexKit.


这可能更像是一个Objective-C而不是Cocoa的东西.
推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有