美文网首页
Swift AfNetWorking

Swift AfNetWorking

作者: 鳄佛 | 来源:发表于2018-08-24 21:10 被阅读0次

首先导入AFNetworking文件

 (1)ViewController里创建网格

import UIKit

class ViewController: UIViewController ,UICollectionViewDelegate,UICollectionViewDataSource{

    varreadID ="readID"

    var flowlayout = UICollectionViewFlowLayout()

    varcollection:UICollectionView?

    varcollecArr=[News]()

    //    var collecArr = ["3","1","2"]

    overridefuncviewDidLoad() {

        super.viewDidLoad()

        let urlStr = "http://api.jisuapi.com/news/get"

        letpar : [String:Any] = [

            "channel":"头条",

            "appkey"  :"de394933e1a3e2db"

        ]

        NetworkTools.sharedInstance.request(.GET, urlString: urlStr, parameters: par) { (result, error)in

            guarderror ==nilelse{

                return

            }

            guardletjsonDict = resultelse{

                return

            }

            letdict = jsonDictas!NSDictionary

            letresultDict = dict.value(forKey:"result")as!NSDictionary

            letlistArray = resultDict.value(forKey:"list")as!NSArray

            foriteminlistArray{

                letdic = itemas!NSDictionary

                letoneNew =News()

                oneNew.title= dic.value(forKey:"title")as!String

                oneNew.content= dic.value(forKey:"content")as!String

                self.collecArr.append(oneNew)

            }

            self.collection?.reloadData()

        }

        // 设置网格的大小

        flowlayout.itemSize=CGSize(width:self.view.frame.size.width/4, height:100)

        //设置最小行间距

        flowlayout.minimumLineSpacing = 1

        //设置最小列间距

        flowlayout.minimumInteritemSpacing = 40

        //设置分区缩进量

        flowlayout.sectionInset=UIEdgeInsets(top:20, left:10, bottom:20, right:10)

        // 设置滚动方向

        flowlayout.scrollDirection = UICollectionViewScrollDirection.vertical

        // 网格对象

        collection=UICollectionView(frame:CGRect(x:0, y:0, width:self.view.frame.size.width, height:self.view.frame.size.height) , collectionViewLayout:flowlayout)

        // 设置代理协议

        collection?.delegate=self

        collection?.dataSource=self

         collection?.backgroundColor = UIColor.white

        collection?.register(NewsCollectionViewCell  .self, forCellWithReuseIdentifier:readID)

        // 添加网格

        self.view.addSubview(collection!)

    }

    // 实现网格的协议代理

    funcnumberOfSections(in collectionView:UICollectionView) ->Int{

        return1

    }

    funccollectionView(_collectionView:UICollectionView, numberOfItemsInSection section:Int) ->Int{

        //        return collecArr.count

        returncollecArr.count

    }

    funccollectionView(_collectionView:UICollectionView, cellForItemAt indexPath:IndexPath) ->UICollectionViewCell{

        // 重用cell

        letcell:NewsCollectionViewCell= collectionView.dequeueReusableCell(withReuseIdentifier:readID, for: indexPath)as!NewsCollectionViewCell

        cell.titlelabel?.numberOfLines=0

        cell.titlelabel?.text=collecArr[indexPath.row].title

        //cell.handlabel?.text = dic.content

        cell.handlabel?.numberOfLines=0

        returncell

    }

}

(2)设置格子的格式

import UIKit

classNewsCollectionViewCell:UICollectionViewCell{

    // 创建两个label

    var  titlelabel:UILabel?

    varhandlabel:UILabel?

    overrideinit(frame:CGRect) {

        super.init(frame: frame)

        self.titlelabel=UILabel()

        self.addSubview(titlelabel!)

        self.handlabel=UILabel()

        self.addSubview(handlabel!)

        setTitle()

        sethand()

    }

    funcsetTitle(){

        self.titlelabel?.frame=CGRect(x:0, y:0, width:self.frame.size.width, height:20)

        self.titlelabel?.font=UIFont.systemFont(ofSize:14.0)

        self.titlelabel?.backgroundColor = UIColor.red

        self.titlelabel?.numberOfLines=0

    }

    funcsethand()  {

        self.handlabel?.frame=CGRect(x:0, y:20, width:self.frame.size.width, height:80)

        self.handlabel?.font=UIFont.systemFont(ofSize:12.0)

          self.handlabel?.backgroundColor = UIColor.green

        self.handlabel?.numberOfLines=0

    }

    requiredinit?(coder aDecoder:NSCoder) {

        fatalError("init(coder:) has not been implemented")

    }

}

(3) 创建model继承nsobject存类型

import UIKit

classNews:NSObject{

    vartime:String=""

    vartitle:String=""

    varpic:String=""

    varcontent:String=""

    varweburl:String=""

}

作者:J_2009

链接:https://www.jianshu.com/p/909a6ed0f721

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

相关文章

网友评论

      本文标题:Swift AfNetWorking

      本文链接:https://www.haomeiwen.com/subject/zwwiiftx.html