                 }
                 return
             }
-        }
-        resetWithData(data, inSection: section, reloadType: reloadType)
+            self.resetWithData(data, inSection: section, reloadType: reloadType)
+        }
     }
    
     public func resetWithData(data: MYTableViewCellData, inSection section: Int, reloadType: MYReloadType = .ReloadSection(.None)) {

    }
    
    public func appendData(data: [MYTableViewCellData], inSection section: Int, reloadType: MYReloadType) {
        if self.dataSource.indexForKey(section) != nil {
            dispatch_async(dispatch_get_main_queue()) {
                self.setBaseViewDataDelegate(data)
                self.dataSource[section]! += data
            

    }
    
    public func insertDataBeforeLastRow(data: [MYTableViewCellData], inSection section: Int, reloadType: MYReloadType = .InsertRows(.None)) {
        dispatch_async(dispatch_get_main_queue()) {
            if self.dataSource[section] != nil {
                let lastRow = max(self.dataSource[section]!.count - 1, 0)
                self.insertData(data, inSection: section, atRow: lastRow, reloadType: reloadType)
            }
        }
    }
    
