BudgetKit 0.1.1

BudgetKit 0.1.1

Stuart Daubenmire 维护。



BudgetKit 0.1.1

  • Stuart Daubenmire

BudgetKit

Version License Platform

BudgetKit 是 YNAB (You Need A Budget) 公共 API 的 iOS 框架包装器。它管理认证、网络调用和与 API 相关的模型对象。无需担心网络或 JSON 解析,只需导入 BudgetKit 并使用 YNAB API 开发您的 iOS 应用即可!

安装

BudgetKit 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中

pod 'BudgetKit'

通过运行 pod install 安装 pod。您可能需要先运行 pod repo update

在您需要调用 YNAB API 或使用 YNAB 模型对象的地方包含 BudgetKit

import BudgetKit

使用方法

认证

请参考 YNAB 认证概览 了解如何获取个人访问令牌和/或 OAuth 客户端 ID。

使用个人访问令牌登录。这是用于测试的选项,您可以选择强制失败以测试错误处理。

YNAB.login(personalAccessToken: String, shouldFail: Bool = false, authenticated: (() -> Void), failed: @escaping ((Error) -> Void))

使用 OAuth 登录。这是登录 YNAB 的标准方法。您将在任何应用程序的发布版本中使用此方法。

YNAB.login(clientID: String, redirectURI: String, state: String?, authenticated: @escaping (() -> Void), failed: @escaping ((Error) -> Void))

完成处理器

返回数据的API调用使用一个YNABCompletion<T>,它只是一种使用Result对象的闭包的别名。以下是每个的说明:

public typealias YNABCompletion<T> = ((Result<T>) -> Void)

public enum Result<T> {
    case success(T)
    case failure(Error)
}

根据result管理成功和失败情况

YNAB.getCategory(budgetID: budgetID, categoryID: categoryID) { (result) in
	switch result {
	case .success(let category):
		// Do something with the category
	case .failure(let error):
		// Handle the error
	}
}

调用API

调用API很简单。以下是几个示例

通过ID获取预算
返回一个包含所有相关实体的单个预算。这个资源实际上是一个完整的预算导出。

YNAB.getBudget(id: UUID, completion: @escaping YNABCompletion<BudgetDetail>)

获取收款人的交易
返回指定收款人的所有交易。

YNAB.getTransactionListForPayee(budgetID: UUID, payeeID: UUID, completion: @escaping YNABCompletion<[TransactionDetail]>)

作者

Stuart Daubenmire,[email protected]

许可

BudgetKit在MIT许可下可用。有关更多信息,请参阅LICENSE文件。