缺少了什么可可? [关闭](What's missing in Cocoa? [clos

2019-06-23 16:52发布

如果你能添加任何东西到可可,它会是什么? 是否有任何功能,或大或小,你会说缺少可可。 也许有一个轮子,你不得不发明,因为在框架遗漏的一遍又一遍?

Answer 1:

  • 内置的正则表达式支持(一拉RegexKit )将是非常方便的。 NSRegularExpression可在iOS 4.0+,但它仍然无法在Mac OS X产品尚未推出。

  • 一个简单的方法来逐步读取一个大的文本文件NSString对象,而无需加载整个事情到内存中。 (NSInputStream和NSFileHandle只是不辜负了点。)

  • 有选择地做的NSSet /的NSMutableSet / NSCountedSet存储和枚举排序顺序(如物体的能力, 二叉搜索树 )肯定会受到欢迎。 这同样适用于可可阵列-目前我有打电话像-[NSArray sortedArrayUsingSelector:]-[NSMutableArray sortUsingSelector:]得到一个排序的数组,并集我必须先创建阵列。

  • 堆/优先级队列。 可可来包裹CFBinaryHeap (这绝对不是那么容易,因为可可集合使用)可能会工作。

  • 可以存储多个值用于每个键的字典,通常被称为多重集 。 NSCountedSet几乎是一个多重/袋,这将是不错的有键值关联相同(NSMultiDictionary?),而不必推出自己的。

  • 一个友好的包装为FSEvents 。 (CFFileDescriptor做了一些工作,但它不是可可容易。)

  • 一种用于创建从一个格式字符串一个NSString和对象的数组(不只是可变参数)方法。 该SO答案给出了一个例子。 得到它与原语的工作将是棘手的...也许一个NSPointerArray?

  • 一致的,集中的API,简化格式(和解析),电话号码为各种语言环境。 目前,你必须用一个NSNumberFormatter(或NSScanner)推出自己的,而这个过程是繁琐且容易出错。 (例如,见NSNumberFormatter格式化美国电话号码 ,并删除所有但NSString的数字 。)

当然,我绝对的粉丝多种数据结构的一般,但仍存在一些语言相比,可可的简洁令人耳目一新。



Answer 2:

一种指定复印/保留了在dealloc的自动释放特性。 也许

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

当然RegexKit。



Answer 3:

对核心数据的多用户支持。 一个可以梦想:)
但至少核心数据现在与OS 3.0 iPhone上可用。



Answer 4:

一种方法来标记整个核心数据实体短暂的。 这将是实现卓悦共享特别有用。

例如,假设我有一个类似于iTunes的模式,具有PlaylistSong的实体。 目前,实现卓悦分享,我创建了两个额外的NSObject子类, TransientPlaylistTransientSong ,其中实现所有相同的方法,其核心数据的同行。

我不应该需要加倍模型类的数目正好有我的对象的瞬态版本-不是我希望他们的行为完全一致,SANS持久性。

(是的,另一种选择是有一个内存中的持久性存储里面有一切你想成为短暂的实体。无论哪种方式,这是不必要的开销)



Answer 5:

围绕着一个更友好的包装Keychain服务 。



Answer 6:

  • 良好的正则表达式支持
  • 布局管理器在了AppKit。 自动尺寸只是不削减对复杂的图形用户界面。


Answer 7:

@property (..,copy)为可变类型类的支持( NSMutableArrayNSMutableDictionary等)。 目前,如果你的对象创建将是不可变的一个可变型类值分配给属性(由于副本)。



Answer 8:

Web服务的适当的支持。



Answer 9:

进入可可从.NET天下我有一个请求:LINQ!

在过去的几个月里,我越来越喜欢能够使用LINQ对一靠近我,任何集合。



Answer 10:

当然,从管理对象上下文到SQL数据库的一个合理的接口servers'd是很酷。

我想看到写有编程细胞创建自定义视图的更好的例子,所有的自动滚动很好。

此外,还有似乎是在IB的复杂的多玻璃窗与工作分离器支持真正的差距。 我想他们正在努力呢?

而发生任何分辨率的独立性,是吧?



Answer 11:

内置进口/出口JSON支持。



Answer 12:

绝对是一个对应的碳热键 !



文章来源: What's missing in Cocoa? [closed]