diff --git a/Yep/ViewControllers/Feeds/FeedsViewController.swift b/Yep/ViewControllers/Feeds/FeedsViewController.swift index 706d0eac..7e75f9d7 100644 --- a/Yep/ViewControllers/Feeds/FeedsViewController.swift +++ b/Yep/ViewControllers/Feeds/FeedsViewController.swift @@ -393,6 +393,23 @@ class FeedsViewController: BaseViewController { } } + enum WayToUpdateTableView { + case None + case ReloadData + case Insert([NSIndexPath]) + + var needsLabor: Bool { + + switch self { + case .None: + return false + case .ReloadData: + return true + case .Insert: + return true + } + } + } private var currentPageIndex = 1 private var isFetchingFeeds = false private func updateFeeds(isLoadMore isLoadMore: Bool = false, finish: (() -> Void)? = nil) { @@ -447,20 +464,28 @@ class FeedsViewController: BaseViewController { let newFeeds = feeds let oldFeeds = strongSelf.feeds - var needReloadData = false + //var needReloadData = false + var wayToUpdateTableView: WayToUpdateTableView = .None - needReloadData = strongSelf.feeds.isEmpty + //needReloadData = strongSelf.feeds.isEmpty + if strongSelf.feeds.isEmpty { + wayToUpdateTableView = .ReloadData + } if isLoadMore { + let oldFeedsCount = strongSelf.feeds.count strongSelf.feeds += newFeeds + let newFeedsCount = strongSelf.feeds.count - needReloadData = !newFeeds.isEmpty + //needReloadData = !newFeeds.isEmpty + let indexPaths = Array(oldFeedsCount..