测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最新发布 | 2014 年 12 月 |
由 Luis Recuenco 维护。
依赖项 | |
AFNetworking | >= 0 |
TBXML | >= 0 |
zipzap | >= 0 |
LRTVDBAPIClient 是 TheTVDB 的一个简单高效的 Objective-C 封装。
它支持:
使用 CocoaPods
将 LRTVDBAPIClient 添加到 Podfile 中
platform :ios, "5.1"
pod 'LRTVDBAPIClient'
运行以下命令
pod install
最后,导入 SystemConfiguration 和 MobileCoreServices 框架以避免 AFNetworking 警告。
手动
克隆项目或将其作为子模块添加(使用 --recursive 选项以便更新相关子模块)。
git clone --recursive git://github.com/luisrecuenco/LRTVDBAPIClient.git
拖动 LRTVDBAPIClient 文件夹到您的项目中,并添加 AFNetworking、TBXML 和 zipzap 项目(在 Vendor 文件夹中可用)。您可以在它们的 GitHub 页面上找到如何添加它们的说明(参见下面的致谢部分)。
您可以在 TVDBAPIClient 类的属性 apiKey 中指定您的 TVDB API 键。
您还可以设置要使用的语言(通过 TVDBAPIClient 中的 language 属性)。如果没有提供语言,则默认使用设备语言(或如果后者不支持 TheTVDB,则使用英语)。
代码分为四个主要类别
具有所有用于从 TheTVDB 获取信息的详细信息的主类是 LRTVDBAPIClient。让我们进一步解释您可以做什么。
根据指定的查询搜索剧集
- (void)showsWithName:(NSString *)showName
completionBlock:(void (^)(NSArray *shows, NSError *error))completionBlock;
该方法的结果是包含 TheTVDB 提供的一些基本信息的 LRTVDBShow 对象数组(名称、ID、概述、IMDB ID、横幅 URL...)。要获取更多详细信息,例如剧集、艺术作品或演员,可以使用以下方法。
根据给定的TVDB节目ID检索列表
- (void)showsWithIDs:(NSArray *)showsIDs
includeEpisodes:(BOOL)includeEpisodes
includeImages:(BOOL)includeImages
includeActors:(BOOL)includeActors
completionBlock:(void (^)(NSArray *shows, NSDictionary *errorsDictionary))completionBlock;
节目:LRTVDBShow对象数组。错误字典:<@showID : NSError>。
根据给定的TVDB剧集ID检索剧集列表
- (void)episodesWithIDs:(NSArray *)episodesIDs
completionBlock:(void (^)(NSArray *episodes, NSDictionary *errorsDictionary))completionBlock;
剧集:LRTVDBEpisode对象数组。错误字典:<@episodeID : NSError>。
获取指定季和集数的正确剧集
- (void)episodeWithSeasonNumber:(NSNumber *)seasonNumber
episodeNumber:(NSNumber *)episodeNumber
forShowWithID:(NSString *)showID
completionBlock:(void (^)(LRTVDBEpisode *episode, NSError *error))completionBlock;
获取所有电视剧的美术信息
- (void)imagesForShowWithID:(NSString *)showID
completionBlock:(void (^)(NSArray *images, NSError *error))completionBlock;
图像 是一个LRTVDBImage对象数组。
获取所有电视剧的演员信息
- (void)actorsForShowWithID:(NSString *)showID
completionBlock:(void (^)(NSArray *actors, NSError *error))completionBlock;
演员 是一个LRTVDBActor对象数组。
更新节目列表
- (void)updateShows:(NSArray *)showsToUpdate
checkIfNeeded:(BOOL)checkIfNeeded
updateEpisodes:(BOOL)updateEpisodes
updateImages:(BOOL)updateImages
updateActors:(BOOL)updateActors
completionBlock:(void (^)(BOOL finished))completionBlock;
要将更新的节目 将更新为程序的最新信息。当所有节目都已更新后,将调用块进行确认,通过布尔值指示操作的成功。在不等待块执行(例如,等待每个节目更新完成)的情况下更新程序的最好方法是监控所需属性通过KVO。
checkIfNeeded 用于在不需要更新节目时强制更新(参见方法文档以获取进一步解释)。
将剧集列表从/到磁盘持久化/检索。
- (void)saveShowsInPersistenceStorage:(NSArray *)shows;
- (NSArray *)showsFromPersistenceStorage;
项目包含一个完整的电视剧追踪器应用程序示例。您可以搜索节目,将它们添加到您的图书馆中,查看剧集,标记为已观看,在Twitter和Facebook上分享...这是一款此类应用程序应提供的所有功能。该示例使用了CocoaPods,因此您只需要在示例文件夹中执行pod install 并打开工作空间。
LRTVDBAPIClient需要iOS 5.1和ARC。
您仍然可以在非ARC项目中使用LRTVDBAPIClient。只需在每个源文件中设置-fobjc-arc编译器标志。
LRTVDBAPIClient使用了以下第三方库
LRTVDBAPIClient是由Luis Recuenco创建的:@luisrecuenco。
如果您想为该项目做出贡献,请遵循以下步骤
LRTVDBAPIClient可在MIT许可下使用。更多详细信息请参阅LICENSE文件。