PLVVodExam

Objective-C

@interface PLVVodExam : NSObject

Swift

class PLVVodExam : NSObject

问答数据模型

  • examId 问答题目id

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *examId;

    Swift

    var examId: String! { get }
  • userid 用户id

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *userId;

    Swift

    var userId: String! { get }
  • vid

    videoPoolId 视频的id

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *vid;

    Swift

    var vid: String! { get }
  • showTime 问答题目开始显示的时间

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSTimeInterval showTime;

    Swift

    var showTime: TimeInterval { get }
  • question 问题

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *question;

    Swift

    var question: String! { get }
  • type 题目类型:0、选择题 1、听力题(已下线)2、填空题

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSInteger examType;

    Swift

    var examType: Int { get }
  • choices 选项

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<NSString *> *options;

    Swift

    var options: [String]! { get }
  • 正确选项

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<NSNumber *> *correctIndex;

    Swift

    var correctIndex: [NSNumber]! { get }
  • answer 正确注解

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *correctExplanation;

    Swift

    var correctExplanation: String! { get }
  • wrongAnswer 错误注解

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *wrongExplanation;

    Swift

    var wrongExplanation: String! { get }
  • skip 能否跳过问答

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL skippable;

    Swift

    var skippable: Bool { get }
  • wrongTime 回答错误后跳回到第几秒

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSTimeInterval backTime;

    Swift

    var backTime: TimeInterval { get }
  • wrongShow 回答错误是否提示答案

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL wrongShow;

    Swift

    var wrongShow: Bool { get }
  • createdTime 创建问答题目的时间

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSDate *createdTime;

    Swift

    unowned(unsafe) var createdTime: NSDate! { get }
  • 回答是否正确

    Declaration

    Objective-C

    @property (nonatomic) BOOL correct;

    Swift

    var correct: Bool { get set }
  • illustration 插图

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *illustration;

    Swift

    var illustration: String! { get }
  • 请求获取 PLVVodExam 模型对象

    Declaration

    Objective-C

    + (void)requestVideoWithVid:(NSString *)vid
                     completion:
                         (void (^)(NSArray<PLVVodExam *> *, NSError *))completion;

    Swift

    class func requestVideo(withVid vid: String!) async throws -> [PLVVodExam]?
  • 将问答信息字典转为 PLVVodExam 模型对象

    Declaration

    Objective-C

    + (PLVVodExam *)createExamWithDic:(NSDictionary *)dic;

    Swift

    class func createExam(withDic dic: [AnyHashable : Any]!) -> PLVVodExam!
  • 将问答信息字典数组 转为 PLVVodExam 模型对象数组

    Declaration

    Objective-C

    + (NSArray<PLVVodExam *> *)createExamArrayWithDicArray:
        (NSArray<NSDictionary *> *)dicArray;

    Swift

    class func createExamArray(withDicArray dicArray: [[AnyHashable : Any]]!) -> [PLVVodExam]!
  • 根据回答正误获取注解

    Declaration

    Objective-C

    - (NSString *)explanation;

    Swift

    func explanation() -> String!
  • 根据vid 获取本地问答数据

    Declaration

    Objective-C

    + (NSArray<PLVVodExam *> *)localExamsWithVid:(NSString *)vid
                                     downloadDir:(NSString *)downloadDir;

    Swift

    class func localExams(withVid vid: String!, downloadDir: String!) -> [PLVVodExam]!
  • 答题统计信息上报

    Declaration

    Objective-C

    + (void)saveExamStatisticsWithPid:(NSString *)pid
                                  eid:(NSString *)examId
                                  uid:(NSString *)userId
                            quesition:(NSString *)question
                                  vid:(NSString *)vid
                              correct:(BOOL)correct
                               anwser:(NSString *)userAnswer
                           completion:(void (^)(NSError *))completion;

    Swift

    class func saveStatistics(withPid pid: String!, eid examId: String!, uid userId: String!, quesition question: String!, vid: String!, correct: Bool, anwser userAnswer: String!) async throws