测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可 | MIT |
发布日期最后发布 | 2014年12月 |
由Piet Jaspers维护。
依赖 | |
JSONKit | >= 0 |
AFNetworking | ~> 0.9.0 |
Tin 旨在使从 Cocoa 谈论 webservices 变得更为简洁。它使用 blocks
和优秀的 HTTP 库 ASIHttp 来使请求看起来更简单。
我之前尝试的 API 一直使用很多代理,因为我们没有 blocks,而且在桌面应用程序中,同步请求绝对不是最佳选择。
现在有了 blocks,终于可以使其看起来像这样
[Tin get:@"http://apple.com" success:(TinResponse *response) {
NSLog(@"Response: %@", response.response);
NSLog(@"Headers: %@", response.headers);
}];
安装的最简单方法是将其克隆到项目中,并将 Tin 头文件和 Tin 子文件夹复制到您的自己的项目中。
Tin 有一个主要的依赖项,就是 ASIHttp,所以请确保已经安装了它。
Tin
的使用方法有两种,最简单的方法是始终调用类方法(例如,[Tin get:...];
),但缺点是无法使用实例方法提供的一些功能。
例如,如果您创建了
Tin *tin = [][Tin alloc] init];'
tin.baseURI = @"http://tin.com";
您可以这样进行请求:[tin get:@"/something/else" success:nil];
,这将使请求路由到 http://tin.com/something/else
。因此,如果您将此实例保留在方便的地方,可能会节省很多时间。
目前 Tin 支持以下方法
每个都具有传递数据的 query
和 body
参数。如果将 NSDictionary
传递给 query
,它将转换为包含键和值的字符串。例如:
NSDictionray *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"string", @"key", nil];
// would be converted to an NSString
@"key=string"
其他对象将通过调用 description
方法来获取它们的字符串表示形式,并将其传递给 ASI。
通常,应该运行 rake test
以运行所有单元测试。目前,大多数测试仍依赖于网络连接正常,但我正在重构以使其消失(请参见 TinTest.m
)
当然可以!
对其进行分支操作!改进它!对其进行测试!重写它!(技术)