SUAISchedule
SUAISchedule 是一个轻量级且非常简单的库,用于加载在 圣彼得堡国立航空航天仪表大学 学习的团体或教师的课程表。当前版本是测试版,不获取网络连接状态且不返回有效的错误代码。
示例
要运行示例项目,请克隆仓库,然后从 Example 目录运行 pod install
。
安装
SUAISchedule 可通过 CocoaPods 获得。要安装它,只需将以下行添加到 Podfile 中
pod 'SUAISchedule'
用法
该库包含 SUAIManager 类,它是一个单例,这意味着在整个程序执行中您将只有一个此类实例(对于加载实体代码并存储在实例中,这是必要的)。
SUAIManager 有一个代理方法
- (void)didChangeStatus:(Status)status;
其中 Status 是一个结构体,表示当前 SUAIManager 的状态
- Ok(即所有代码已加载,SUAIManager 可以加载任何您需要的课程表);
- Error(即 SUAIManager 不包含代码或与互联网连接有问题)。
下面是 Status 的详细描述
typedef enum Status {
Ok,
Error
}Status;
分步操作
- 将 SUAIManager.h 导入到你的类中
#import "SUAIManager.h"
- 如果你想要获取 SUAIManager 的状态,请设置代理,并在类中实现该方法
[SUAIManager instance].delegate = self;
- 使用方法
- (void)loadScheduleFor:(NSString *)identificator
ofEntityType:(Entity)entity
success:(void (^) (SUAISchedule *schedule))schedule
fail:(void (^) (NSString *fail))fail;
获取传入的第一个参数(例如,1740M)对应的教师或组的课程表。同样,你需要传入实体。在以后的版本中,实体可能将被弃用。
重要
别忘了允许任意加载!这很简单
- 前往 plist 文件;
- 在信息属性列表中添加新的键 "App Transport Security Settings";
- 在添加的字典中添加键 "Allow Arbitrary Loads" 并将其值设置为 "YES"。
要求
- Xcode
- Objective-C
- iOS 9.0 或更高版本
作者
Victor Volkov, [email protected]
许可
SUAISchedule 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。