XUCore 1.3.4

XUCore 1.3.4

Charlie Monroe维护。



XUCore 1.3.4

  • Charlie Monroe

XUCore

这是我们应用程序中使用的核心框架。它通过添加便捷方法扩展了现有类型,同时引入了许多类,允许您通过一行代码添加某些功能到您的应用程序中。

如果您决定在自己的项目中使用此框架,需要予以认可。

历史

我们目前正在重新组织框架。最初,这是一个位于单独仓库中的文件,这些文件直接包含在项目中;现在,它们已经组合在一起。出于历史原因,框架中包含了一些以FC为前缀的类(或函数集)。随着它们用Swift重写,我们正在将它们迁移到XU命名前缀。

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

使用

Objective-C中为@import XUCore;,或Swift中的import XUCore

大多数类都有适当的文档,请随时查阅。越来越多的功能现在只支持Swift,因此不建议从ObjC使用此框架。

弃用

框架中目前存在的所有Objective-C代码现在都弃用于在Swift中使用, Exceptions included:

  • 新增功能 - 在ObjC中仍有两种新增功能 - 一组扩展了实际上未被Swift使用的类(如NSArrayNSDictionaryNSString),或者它们使用CommonCrypto,这还不能作为一个模块轻松导入,而且我还没有时间将其与Swift整合。
  • XURegex - 它利用了C++代码,但不能从Swift中使用。
  • XUExceptionHandler - 显然需要在ObjC中编写,因为在Swift中没有办法捕获ObjC异常。

文档

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

新增功能

在多个类上添加各种扩展功能(ObjC分类或Swift扩展)。一些值得注意的例子

  • ArrayExtensions - 扩展了SequenceTypeArray等。
  • DictionaryExtensions - 非常方便的方法,主要用于处理JSON字典。
  • NSDecimalNumberAdditions - NSDecimalNumber的Swiftified版本。
  • NSLockAdditions - 在捕获异常并锁定时执行一个锁定的代码块,并在抛出异常时解锁锁以防止死锁。
  • NSMutableURLRequestAdditions - 设置头部值的各种方法。
  • NSURLExtensions - 扩展了各种资源值。
  • NSXMLAdditions - 获取XPath值的便利方法。
  • StringExtensions - 扩展String,带有许多改进。

AppStore

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

核心

  • XUAbstract - 一个@noreturn函数,可用于创建抽象方法。
  • XUApplicationSetup - 读取Info.plist文件的类,从中提供信息。您可以通过子类化它来包含自己的设置。
  • XUAppScopeBookmarksManager - 保存应用范围的NSURL书签。
  • XUBlockThreading - 执行块的更容易的API。
  • XUExceptionHandler - 允许您在Swift代码中捕获和处理ObjC异常的类。
  • XUPowerAssertion - 在IOKit power assertion API周围包装的Swift封装。
  • XUPreferences - 读取和写入NSUserDefaults的方便功能。
  • XUString - Swift中的纯C风格字符串。直接访问字符等。主要用于各种转换。
  • XUSubclassCollector - 收集某个类的所有子类。注意,当存在具有泛型的子类时,这将返回在应用程序中使用的所有泛型可能组合。

CoreData

主要是同步引擎。最初作为XUSyncEngine的一部分。有关它的文档可单独找到这里

Debug

主要是XULog的日志功能。

反序列化

XUCore具有可靠的JSON反序列化器,可以定制。

异常处理(仅限OS X)

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

本地化

各种本地化方法。

杂项

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

网络

  • XUCURLConnection - 使用cURL而不是NSURLConnection发送HTTP请求。
  • XUDownloadCenter - 网络下载的概括,支持JSON、XML和纯文本。包括日志记录、支持Cookies等。
  • XUMessageCenter - 从服务器发送消息到应用程序的用户。
  • XUURLHandlingCenter(OS X)- 处理应用程序打开的URL。

正则表达式

Built-in regex implementation based on re2 (C++)。 XURegexre2 的一个Objective-C封装,支持各种在字符串上的实现方法。与 NSRegularExpression 不同,它支持变量以及更多功能。

转换器

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

试用期(OS X)

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

用户界面(UI)

  • - 隐藏时自动将自身的高度约束设置为 0.0,一旦设置为可见则恢复。
  • - 在应用Dock图标上显示进度。