2016-07-15 5 views
1

私は、今後4日間の気象データを表示するコレクションビューを持っています。配列から1つのインデックスを使用する

[0] : Forecast 
     - temperature : 296.84199999999998 { ... } 
     - maximum : 296.84199999999998 { ... } 
     - minimum : 296.84199999999998 { ... } 
     - description : "light rain" { ... } 
     - icon : "10d" { ... } 
     - humidity : 92.0 { ... } 
     - pressure : 1021.4299999999999 { ... } 
     - wind : 1.8600000000000001 { ... } 
     - date : 2016-07-18 18:00:00 +0000 

私は最初の日を削除し、他の4つの表示:このブロック

func prepareCollectionViewDataSource() { 
     var x = self.city?.forecasts 
     x?.removeFirst() 
     self.otherDaysForecasts = x 
    } 

ではこれは、xは以下のように見ている方法です。 JSONから私は3時間ごとに気象データを取得しました。それは配列なので、毎日1つのデータしか表示しません。

どのようにすればいいですか?

+0

jsonレスポンスを追加して、これらのコレクションセルに簡単に抽出するようにしてください – xmhafiz

答えて

1

は、コレクションビューでは、まず、あなたはそれが

var forcastData = [] // this is your x, array of dictionary 

ここではクラスのどのメソッドからアクセスできるように応じてクラス変数でなければなりませんUICollectionViewDataSource

あなたのデータを使用してデータを準備し、それを移入する必要があります簡単なガイドhereがあり、あなたのUICollectionViewDataSource

extension YourViewController : UICollectionViewDataSource { 

    override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int { 
     return 1 
    } 

    override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
     return forcastData.count 
    } 

    override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
     let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! UICollectionViewCell 
     // Here is the main part to configure the cell 
     let data = forcastData[indexPath.row] 
     // let say you have label for temparature that we want to set from your data in json dictionary 
     cell.temperatureLabel.text = String(format: "%.2f MB", data.["temperature"].double!) 
     return cell 
    } 
} 

です。 UICollectionViewのカスタムセルについても詳しくお読みください

関連する問題