Skip to content
This repository has been archived by the owner on Dec 13, 2023. It is now read-only.

Commit

Permalink
Merge pull request #8 from istyle-inc/feature-refresh-data-bug
Browse files Browse the repository at this point in the history
Fixed a bug that data was deleted during reloadData
  • Loading branch information
atsushi committed Feb 12, 2020
2 parents 8327e62 + ff76f1b commit f479149
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 10 deletions.
4 changes: 2 additions & 2 deletions Example/LoadMoreTableViewController/ViewController.swift
Expand Up @@ -78,12 +78,12 @@ class ViewController: LoadMoreTableViewController {

@objc func clear() {
count = 0
refreshData(immediately: true)
safeRefreshData(immediately: true)
}

@objc func refresh() {
count = 0
refreshData(immediately: false)
safeRefreshData(immediately: false)
}

}
4 changes: 2 additions & 2 deletions Example/Podfile.lock
@@ -1,5 +1,5 @@
PODS:
- LoadMoreTableViewController (2.1.0)
- LoadMoreTableViewController (2.1.2)

DEPENDENCIES:
- LoadMoreTableViewController (from `../`)
Expand All @@ -9,7 +9,7 @@ EXTERNAL SOURCES:
:path: "../"

SPEC CHECKSUMS:
LoadMoreTableViewController: 94c685dd5ecf38bc2bc9190bd4bf0b9671ffc623
LoadMoreTableViewController: 6a7059a50d4544bf23d011172a15740aab361fe3

PODFILE CHECKSUM: 2d1c41854f8e04f260b3d9549af07292e79adc0b

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Example/Pods/Manifest.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion LoadMoreTableViewController.podspec
Expand Up @@ -8,7 +8,7 @@

Pod::Spec.new do |s|
s.name = "LoadMoreTableViewController"
s.version = "2.1.0"
s.version = "2.1.2"
s.summary = "Automatic cell loading on UITableViewController."

# This description is used to generate tags and improve search results.
Expand Down
20 changes: 20 additions & 0 deletions Pod/Classes/LoadMoreTableViewController.swift
Expand Up @@ -155,6 +155,7 @@ open class LoadMoreTableViewController: UITableViewController {
/// - immediately:
/// - true: It will show an activity indicator on the top then fetch the data.
/// - false: It will refresh the table view after fetching the data.
@available(*, deprecated, renamed: "safeRefreshData")
open func refreshData(immediately: Bool) {
sourceObjects.removeAll()
showsRetryButton = false
Expand All @@ -174,6 +175,25 @@ open class LoadMoreTableViewController: UITableViewController {
}
}

open func safeRefreshData(immediately: Bool) {
DispatchQueue.main.async {
self.sourceObjects.removeAll()
self.showsRetryButton = false

// To refresh the table view when it is scrolling
if immediately {
self.isScrolling = false
}

if immediately {
self.tableView.reloadData()
self.updateFooter(show: true)
} else {
self.loadMore(reload: true)
}
}
}

public func showRetryButton() {
isRequesting = false
showsRetryButton = true
Expand Down

0 comments on commit f479149

Please sign in to comment.