2016-07-05 2 views
1

Я использую tableview для отображения некоторых данных из json. Я использую массив объектов для заполнения этих данных. Теперь я хочу обновить эти данные через определенное время (например, 10 секунд), например, мобильное приложение yahoo для крикета. Может ли кто-нибудь предложить мне, как я могу это сделать?Быстрое обновление данных ячейки таблицы просмотра

ответ

2

Использование таймеров являются одним из способов вы можете сделать это, в ViewDidload

self.myTimer = NSTimer(timeInterval: 10.0, target: self, selector: "refresh", userInfo: nil, repeats: true) 
     NSRunLoop.mainRunLoop().addTimer(self.myTimer, forMode: NSDefaultRunLoopMode) 

    func refresh() { 
     tableview.reloadData(); //refresh the table 
    } 
0

Расписания таймера, который выполняется для каждых 10 секунд, как

timer = NSTimer.scheduledTimerWithTimeInterval(10, target: self, selector: #selectior(refresh), userInfo: nil, repeats: false) 
} 

func refresh() { 
    // fetch Data from Server 
} 

После выборки данных, заполнить ваш массив снова и использование tableView метод reloadData для перезагрузки tableView

tableview.reloadData() 

Чтобы обновить некоторые строки данных, вы можете использовать код ниже. Здесь я показываю одно обновление строки, вы можете сделать то же самое с несколькими обновления строки, передавая столько, сколько indexPath в массиве вы хотите

//suppose you want to update row 0 for section 0, create indexPath as 
let indexPath1 = NSIndexPath(forRow: 0, inSection: 0) 
tableview.reloadRowsAtIndexPaths([indexPath1], withRowAnimation: .Automatic) 

Если вы хотите обновить свой конкретный участок, сделать это

//suppose you want to update your section 0 
let indexSet = NSIndexSet(index: 0) 
profileTableView.reloadSections(indexSet, withRowAnimation: .Automatic) 
+0

Благодарим вас за ответ. На самом деле я использую node.js и сокет для автоматического обновления. Теперь я хочу поменять местами строки с другими строками и обновить данные. Как я могу это сделать? В основном мне нужна часть, например раздел «wechat». Если имя друзей обновляется в соответствии с их местоположением. – Rupshikha

+0

Я обновил свой ответ plz check –

0

Самый простой способ - использовать NSTimer.

class ViewController: UIViewController { 

    var timer : NSTimer! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     timer = NSTimer.scheduledTimerWithTimeInterval(10, target: self, selector: #selectior(fetch), userInfo: nil, repeats: false) 
    } 

    func fetch() { 
     // do your stuff here 
    } 
} 
Смежные вопросы