swift3.0初探査

1930 ワード

暇な話は間もなく、この数日やっと手のswiftを始めて、耻ずかしくて、耻ずかしいです!このdemoは私の個人プロジェクトの1ページだけを実現して、MVCモードを使っています.辞書の回転モデルは馬のお父さんの家のhandyJsonを使っていて、本当にいいですね.
            if let goods = JSONDeserializer.deserializeModelArrayFrom(json: json!, designatedPath:"content.productList.pageList") {
                
                goods.forEach({ (good) in
                    if good != nil {
                        
                        self.dataSource?.append(good!);
                    }
                })
            }   

これはモデルを入れていますが、MJExtensionに似ている感じがしますか?required init(){}はモデルの中で実現する必要がある方法です
class ALSGoods: HandyJSON {
    
    var joinTotal:String?
    var lotteryId:String?
    var picture:String?
    var title:String?
    
    required init() {}
}

データがあればcellを作成します
    static private let cellID = "ALSShoppingCartCell"
    class func shoppingCartCellWithTableView(tableView: UITableView) -> ALSGoodsCell {
        
        var cell = tableView.dequeueReusableCell(withIdentifier: cellID) as? ALSGoodsCell
        if cell == nil {
            cell = ALSGoodsCell(style: .default, reuseIdentifier: cellID)
        }
        return cell!
    }
    
    private override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        
        setupBase()
        setupSubViews()
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

cellへのデータ転送を開始し、setメソッドを書き換える
    var goodsModels : Array! {
        
        didSet{
            for i in 0..