Keine Beschreibung

DetailModel.swift 3.0KB

    // // DetailModel.swift // PaiAi // // Created by zhengjianfei on 16/4/8. // Copyright © 2016年 FFIB. All rights reserved. // import Foundation import ObjectMapper public struct ZanUserModel { public var avatar = "" public var user_id = "" public var nickname = "" } extension ZanUserModel: Mappable { mutating public func mapping(map: Map) { } public init(map: Map) { avatar <- (map["avatar"]) user_id <- map["user_id"] nickname <- map["nickname"] } } extension ZanUserModel: GroupParsable { public static func parse(datas: [String: AnyObject]) -> [ZanUserModel] { guard let status = datas["status"] as? Int, let items = datas["data"] as? [String: AnyObject], let thumbupsInfo = items["thumbups"] as? [[String: AnyObject]], status == 200 else { return [] } return thumbupsInfo.compactMap { ZanUserModel(map: Map(mappingType: .fromJSON, JSON: $0)) } } } struct ZanUserNetworkRequest: NetworkRequest { typealias NetworkResponse = ZanUserModel var path: Interfaces { get { return .thumbupList } set {} } var parameter: [String: AnyObject]? } public struct CommentModel { public var avatar = "" public var comment = "" public var user_id = "" public var nickname = "" public var create_at = Date() public var cellHeigth: CGFloat = 0.0 } extension CommentModel: GroupParsable { public static func parse(datas: [String: AnyObject]) -> [CommentModel] { guard let status = datas["status"] as? Int, let items = datas["data"] as? [String: AnyObject], let commentsInfo = items["comments"] as? [[String: AnyObject]], status == 200 else { return [] } return commentsInfo.compactMap { CommentModel(map: Map(mappingType: .fromJSON, JSON: $0)) } } } extension CommentModel: Mappable { mutating public func mapping(map: Map) { } public init(map: Map) { let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ" create_at <- (map["created_at"], DateFormatterTransform(dateFormatter:dateFormatter)) avatar <- (map["avatar"]) comment <- map["comment"] user_id <- map["user_id"] nickname <- (map["nickname"]) comment <- map["comment"] let text = NSString(string: comment) // cellHeigth = text.boundingRect(with:CGSize(width: kScreenWidth - 82, height: CGFloat.greatestFiniteMagnitude), options: [.usesLineFragmentOrigin, .usesFontLeading], attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 12)], context: nil).height } } struct CommentNetworkRequest: NetworkRequest { typealias NetworkResponse = CommentModel var path: Interfaces { get { return .commentList } set {} } var parameter: [String: AnyObject]? }