2017-01-17 8 views
0

Я создал UIRefreshControl на моем CollectionView используя этот кодПерейдите к случайному индексу, используя Pull to Refresh?

let refreshControl = UIRefreshControl() 
refreshControl.addTarget(self, action: #selector(ViewController.refreshLoad), for: .valueChanged) 
    collectionViewIBO.addSubview(refreshControl) 

То, что я поставлен в тупик на том, как непосредственно перейти с помощью обновления. В настоящее время я использую didSelectItemAt с моей моделью datasource.model[indexPath.row] для перехода. Я хочу, чтобы иметь возможность выбрать случайный индекс непосредственно перейти внутрь этой функции

func refreshLoad() { 

    print("refresh") 
    self.collectionViewIBO.reloadData() 


    stopRefresher() 
} 

Я знаю, чтобы получить случайный индекс Я использую Int(arc4random_uniform(UInt32(model.count))). Но как я могу назвать эту функцию для выполнения того же действия, что и didSelectItemAt?

+1

Как выглядит ваш 'didSelectItemAt'? – toddg

ответ

0

Если вы ищете то же поведение. Почему бы не создать отдельную функцию, которая принимает параметр indexPath в качестве аргумента.

Называйте это как коснуться:

segueToUsing(indexPath : NSIndexPath) { 
    // Your current didSelectRowAt implementation 
} 

Затем в didSelectRowAt просто вызвать эту функцию с заданной indexPath. И в вашей refreshLoad функции называют эту функцию segueToUsing со сгенерированным случайным indexPath:

let row = Int(arc4random_uniform(UInt32(model.count))) 
let indexPath = NSIndexPath(row: row, section: 1) 

Это позволит решить как с 1 реализации.