swift 网络数据(controllerview)

首先导入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=""


}

你可能感兴趣的:(swift 网络数据(controllerview))