2014-11-03 16 views
10

làm cách nào để tải lại dữ liệu cho một ô trong chế độ xem bảng của tôi? Tôi muốn thực hiện một yêu cầu tới Máy chủ của tôi và máy chủ phản hồi JSON. Tại thời điểm này tôi đã thực hiện yêu cầu và xử lý phản hồi và tôi có thể hiển thị dữ liệu trong các ô của mình. Nhưng tôi muốn rằng máy chủ chỉ trả lời có thể mười bộ dữ liệu. Khi tôi cuộn đến cuối màn hình bảng với mười ô của tôi trong ứng dụng, tôi muốn thực hiện yêu cầu tiếp theo tới máy chủ của tôi và máy chủ cung cấp mười bộ dữ liệu tiếp theo và cứ tiếp tục như vậy. Tôi làm việc với Swift như ngôn ngữ lập trình.tải lại dữ liệu ô trong chế độ xem bảng bằng Swift

THX!

+0

bạn có thể nhận Mảng có thể nhìn thấy di động bằng cách sử dụng TableView Function tableView.visibleRows() hoặc bạn có thể nhận được IndexPath của hàng nhìn thấy được bằng tableView.indexPathsForVisibleR ows()! và sau đó bạn có thể tải lại bảng theo hàm tableView.reloadData()! –

+0

xem ví dụ này https://github.com/Haneke/HanekeSwift –

Trả lời

33

Bạn có thể sử dụng self.tableView.reloadData() để tải lại toàn bộ bảng hoặc self.tableView.reloadRowsAtIndexPaths(paths, withRowAnimation: UITableViewRowAnimation.None) bạn để lại một cụ thể ô.

Bạn có thể đọc thêm về các lớp UITableView here

+0

, anh ấy đang làm việc trong Swift. –

+8

có - đó là lý do tại sao mã tôi đưa ra nhanh chóng ... Tôi sẽ thêm "tự". chỉ để chắc chắn. – YogevSitton

+1

Tôi cũng sử dụng 'self' để chỉ ra đó là một ivar;) cho tôi làm cho nó rõ ràng hơn nhiều. – HAS

6

Hãy thử này ...

Swift 2,0

dispatch_async(dispatch_get_main_queue(), {() -> Void in 
    self.tableView.reloadData() 
}) 

Swift 3,0

DispatchQueue.main.async { 
    self.tableview.reloadData() 
} 
+0

Nếu bạn đang gọi reloadData() bên trong một khối, bạn phải gửi nó để nó trên main_queue – NSCoder

2

bạn có thể nhận Mảng có thể nhìn thấy di động bằng cách sử dụng TableView Chức năng tableView.visibleRows() Hoặc bạn có thể indexPath của dòng Visible By tableView.indexPathsForVisibleRows()! và sau đó bạn có thể tải lại bảng bằng cách tableView.reloadData() Chức năng!

nhìn vào liên kết sau đây

link1

bạn có thể đọc về UITableView Lớp Here

6

Để tải lại các tế bào hữu hình của tableview trong Swift 3,0

pTableView.beginUpdates() 

pTableView.reloadRows(at: pMessagesTableView.indexPathsForVisibleRows!, with: .none) 

pTableView.endUpdates() 
Các vấn đề liên quan