reloadData in searchBar, и запрос на русском [DONE]

swift3

#1

Всем доброго времени суток, ребят кто сталкивался с такой ситуацией. У меня есть searchBar и API, когда отправляю запрос на английском все работает хорошо, приходит ответ, но вот когда уходит запрос на русском ответа нет.Есть подозрение что searchbar не пропускает какие то невидимые символы на русском. Думаю нужно ставить фильтр перед запросом, но вот как и какой пока не знаю. И второй вопрос насчет searchBar. Как полностью обновлять tableView при нажатии на кнопку “search”, я пробовал в функции searchBarSearchButtonClicked прописывать tableView.reloadData(), но у меня просто добавляется data, вместо того что бы обновить tableView. В заранее благодарю.
P.S: я совсем недавно программирую на swift.


#2

Что значит “ответа нет”, “connection timed out”?

Searchbar - это обычный текстфилд с дополнительным функционалом, он не может “не пропускать”.[quote=“Yerlan, post:1, topic:3730”]
но у меня просто добавляется data
[/quote]

При нажатии на кнопку очищайте массив, с которого берутся данные для tableView.


#3

нет просто он возвращает мне пустой API, хотя когда пишу тот же запрос в сафари, то он возвращает мне нормальный API


#4

Большое спасибо сработало))


#5

Покажите как вы отправляете запрос.


#6

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {

    searchBar.resignFirstResponder()
   
    if searchBar.text != "" {
        question = searchBar.text!

}
}


#7

В теле запроса alamofire сделайте

debugPrint(response)

#8

когда пишу на англ выводит что то такое "{\n data = {\n news = (\n {\n cat = {\n “category_id” = 42;\n description = “”;\n id = 42;\n “language_id” = ru;\n published = 1;\n “seo_description” = “”;\n “seo_keywords” = “”;\n “seo_title” = “”;\n slug = internet;\n "

когда пишу на русском он до printa не доходит, просто крутится activityIndicator и все


#9

Дебажте почему у вас не отрабатывает запрос.


#10

Вы до этого делали searchBar и делали запросы на русском? никогда не слышали о такой проблеме? просто может думаю проблема на самом сервере


#11

Вы вообще можете сделать то, что я прошу?[quote=“Ookey, post:7, topic:3730, full:true”]
В теле запроса alamofire сделайте

debugPrint(response)
[/quote]

Я не экстрасенс, мне нужна информация.


#12

я сделал то что вы просили, когда я делаю запрос на английском он выдает:

"Сделать debugPrint=SUCCESS: {\n data = {\n news = (\n {\n cat = {\n “category_id” = 42;\n description = “”;\n id = 42;\n “language_id” = ru;\n published = 1;\n “seo_description” = “”;\n “seo_keywords” = “”;\n “seo_title” = “”;\n slug = internet;\n title = “\U0418\U043d\U0442\U0435\U0440\U043d\U0435\U0442”;

когда делаю запрос на русском он до этого принта не доходит.


#13

Покапался в интернете денек другой и нашел ответ) если у кого будет такая ситуация , вот ответ :sunglasses:

let yourUrl = "http://yourUrl.com"
let encoded = yourURL.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlFragmentAllowed)