2017-01-02 21 views
0

因此,使用下面的代碼,我已將我的CollectionViewCell indexPath搜索到新的DetailViewController。現在每個`DetailViewController顯示所選indexPath數組中包含的內容。在DetailViewController中的索引路徑之間轉換? Swift

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 

    let animal: Animal! 
    let anims: [Animal] = dataSource.anims 

    animal = anims.filter{ $0.isDefault }[indexPath.row] 

    DispatchQueue.main.async { 
     self.performSegue(withIdentifier: "DetailVC", sender: animal) 
    } 
} 

因此,這意味着新的DetailVC將能夠從與所選擇的indexPath.row,其中它不對應陣列拉數據。

現在是這個問題。一旦我進入DetailVC,我想製作一個按鈕,讓我將顯示的數據切換到上一個或下一個indexPath.row。爲了更好地解釋它,下面是一些僞代碼解釋什麼,我試圖做

@IBAction func nextIndex(_ sender: Any) { 
    self.view.indexPath.row = self.view.indexPath.row +1 
     or 
    self.datasource = next datasource index 
} 

現在我需要做的從DetailViewController內這些indexPaths之間的轉換?如「去下一個」或「去上一個」或「去[選定的路徑]」按鈕?

我覺得這可能是一個簡單的答案,我沒有得到。

回答

0

簡單的解決方案:你可以實現單身人士,負責這個的經理。例如

class AnimalManager: NSObject { 

    static let shared = AnimalManager() 

    private var animals = [Animal]() 
    private var currentIndex: Int? 

    ..... 
} 

現在,您可以實現這樣的方法,如:當前動物,動物旁邊,revious等

+0

你能否詳細說明嗎?我找不到任何關於「單線經理」的文檔 – user4938361

+0

抱歉,我的錯誤應該是單身,而不是單身。辛格爾頓是一種設計模式 – Axel