XUCoreUI 1.0.4

XUCoreUI 1.0.4

Charlie Monroe 维护。



XUCoreUI 1.0.4

  • Charlie Monroe

XUCore

这是我们应用中使用的一个核心框架。它通过添加便利方法扩展了现有类型,同时也引入了很多类,允许您只需一行代码就将特定功能添加到您的应用中。

如果您决定在自己的项目中使用这个框架,需要给予一些认可。

历史

我们目前几乎完成了框架的重构。最初,这些只是一些放在单独仓库中的文件,现在它们被集成在一起。出于历史原因,该框架包含一些以 FC 前缀开头的类(或函数集)。我们将这些迁移到 XU 前缀的命名空间中,因为这些类将被用 Swift 重写。

FC 类作为 XU 类的子类仍然可用,但已弃用,不应使用,因为它们很快将被完全删除。

用法

就像 Objective-C 中的 @import XUCore; 或者在 Swift 中的 import XUCore 一样简单。

大多数类现在都有适当的文档,所以您可以去查看它们。越来越多的功能开始仅支持 Swift,因此从 ObjC 使用此框架不是一个好主意。

弃用

框架中目前现存的 Objective-C 代码弃用在 Swift 中使用,以下情况除外:

  • 扩展 - 在ObjC中存在两种扩展,一种集成了在Swift中实际上并不使用的类(如NSArrayNSDictionaryNSString),或者使用CommonCrypto,但作为一个模块仍未简单化引入,而且我还没有时间在Swift中使用它。
  • XURegex - 利用C++代码,但这不能在Swift中使用。
  • XUExceptionHandler - 显然需要用ObjC编写,因为在Swift中无法捕获ObjC异常。

文档

该框架包含具有特定功能的几个组。

扩展

各种类(ObjC类别或Swift扩展)的各种附加功能。一些值得注意的示例

  • ArrayExtensions - 扩展 SequenceTypeArray 等。
  • DictionaryExtensions - 非常方便的方法,主要用于处理JSON字典。
  • NSDecimalNumberAdditions - NSDecimalNumber 的Swift版本。
  • NSLockAdditions - 在捕获异常的同时执行锁定的代码块,当抛出异常时自动解锁锁,以防止死锁。
  • NSMutableURLRequestAdditions - 设置头部值的各种方法。
  • NSURLExtensions - 用于各种资源值的扩展。
  • NSXMLAdditions - 在Xpaths上获取值的便捷方法。
  • StringExtensions - 向 String 添加了许多改进。

AppStore

您可以用标签127标记菜单项并自动隐藏它们。还包括一款在应用内购买管理器,可以简化StoreKit交互。

核心

  • XUAbstract - 一个可以被用来创建抽象方法的 @noreturn 函数。
  • XUApplicationSetup - 读取 Info.plist 文件并从中提供信息的类。您可以对其进行子类化以包含自己的设置。
  • XUAppScopeBookmarksManager - 存储应用范围的 NSURL 书签。
  • XUBlockThreading - 执行块的更易用的 API。
  • XUExceptionHandler - 允许你在 Swift 代码中捕获和处理 Objective-C 异常的类。
  • XUPowerAssertion - Swift 风格的 IOKit 电源断言 API 的封装。
  • XUPreferences - 用于读取和写入到 NSUserDefaults 的便利函数。
  • XUString - Swift 中的纯 C 风格字符串。可以直接访问字符等。主要用于各种转换。
  • XUSubclassCollector - 收集特定类的所有子类。注意,如果有包含泛型的子类,这将返回应用中使用的所有可能泛型组合。

CoreData

主要同步引擎。原来的部分作为 XUSyncEngine。相关文档可单独在这里找到。

Debug

主要用于日志功能的 XULog

Deserialization

XUCore 具有强大的可定制的 JSON 反序列化功能。

异常处理(仅限 OS X)

如果你在 XUApplicationSetup 上设置了 exceptionHandlerReportURL,XUCore 将自动安装异常处理器并使用该 URL 发送崩溃报告。

Localization

提供多种本地化方法。

杂项

  • XUMouseTracker - 跟踪屏幕上的鼠标移动(OS X)。
  • XURandomGenerator - 假随机数生成器。
  • XUTimeUtilities - 拓展时间四舍五入及转换为字符串的方法。

网络

  • XUCURLConnection - 使用 cURL 而不是 NSURLConnection 发送 HTTP 请求。
  • XUDownloadCenter - 包含所有网络下载需求的伞状服务,支持下载 JSON、XML 和纯文本数据,包括日志记录、cookie 支持等。
  • XUMessageCenter - 从服务器向应用用户发送消息。
  • XUURLHandlingCenter (OS X)- 处理应用打开的 URL。

正则表达式

基于 re2(C++)的强大正则表达式实现。使用 XURegex 作为 re2 的 ObjC 包装,并在 String 上实现各种方法。与 NSRegularExpression 不同,它支持变量和更多功能。

转换器

用于 OS X 中的 XIB 文件(绑定)的值转换器。

试用(OS X)

让 XUCore 处理试用,当试用期结束时,将用户引导到 AppStore。

用户界面

  • XUAutocollapsingView - 隐藏时,自动将高度约束设置为 0.0 的视图,并在设置为可见时恢复。
  • XUDockIconProgress - 在您应用的Dock图标上显示进度。