     
     // Пользователь хочет начать поиск
     func searchBarShouldBeginEditing(searchBar: UISearchBar) -> Bool {
-        return friends.count != 0
+        if VKAPIManager.isAuthorized {
+            switch requestManagerStatus {
+            case .Results:
+                if let refreshControl = refreshControl {
+                    return !refreshControl.refreshing
+                }
+                
+                return friends.count != 0
+            default:
+                return false
+            }
+        } else {
+            return false
+        }
     }
     
     // Пользователь начал редактирование поискового текста
     func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
         view.addGestureRecognizer(tapRecognizer)
+        
+        pullToRefreshEnable(false)
     }
     
     // Пользователь закончил редактирование поискового текста
     func searchBarTextDidEndEditing(searchBar: UISearchBar) {
         view.removeGestureRecognizer(tapRecognizer)
+        
+        pullToRefreshEnable(true)
     }
     
     // В поисковой панели была нажата кнопка "Отмена"

            switch RequestManager.sharedInstance.getFriends.state {
            case .NotSearchedYet where RequestManager.sharedInstance.getFriends.error == .NetworkError:
                return 1 // Ячейка с сообщением об отсутствии интернет соединения
            case .Loading:
                return 1 // Ячейка с индикатором загрузки
            case .NoResults:

    func getFriends() {
        RequestManager.sharedInstance.getFriends.performRequest() { success in
            self.friends = DataManager.sharedInstance.friends.array
            
            self.names = [:]
            self.nameSectionTitles = []
            
            // Распределяем по секциям
            if RequestManager.sharedInstance.getFriends.state == .Results {
