@ios_ru

Страница 663 из 2351
Alfred
07.03.2017
12:20:00
а почему бы не захерачить полный релоад

Engylizium
07.03.2017
12:20:14
Это не тейблвью

Alfred
07.03.2017
12:20:36
честно говоря я ничего из написанного не понял

Andrey
07.03.2017
12:21:52
viewDidLoad -> loadView -> CompletionHandler -> setupView

Google
Engylizium
07.03.2017
12:21:54
Ну смотри. У меня функция грузит джсон, парсит, скидывает инфу в struct

Alfred
07.03.2017
12:22:19
сигнатуру функции можешь показать?

Engylizium
07.03.2017
12:22:53
api.getItem(api.token, ID: id)

Сама функция



Евгений
07.03.2017
12:23:57
ну берешь вью и сетишь в нее все что надо self.myView.shitLabel.text = model.myShit

Alfred
07.03.2017
12:24:10
она же ничего не возвращает

Engylizium
07.03.2017
12:25:22
она же ничего не возвращает
Она в структуру кидает данные

Евгений
07.03.2017
12:25:53
ye

ну

а ты хочешь эти данные во вью

где ты их сетишь?

Engylizium
07.03.2017
12:26:55
функция в loadView  сеты в viewDidLoad

Google
Alfred
07.03.2017
12:27:02
itemInfo это поле?

Евгений
07.03.2017
12:27:11
так тебе отдельный метод нужен

который ты позовешь когда у тебя будут данные

Alfred
07.03.2017
12:27:17
А да, точно. лол

Asyl
07.03.2017
12:27:24
функция в loadView  сеты в viewDidLoad
Это все асинхронно же

Евгений
07.03.2017
12:27:45
вот после того как ты захерачил свой итем

надо будет позвать функцию

которая засетить всю хуйню во вью

Sergey
07.03.2017
12:29:07
Всем доброго дня… Господа, может кто знает способ как без приватного апи перекрасить стандартную левую красную кнопку у ячейки ? https://gyazo.com/441247ca4ad1fa12d63a6c4013672c80

Engylizium
07.03.2017
12:29:49
Евгений
07.03.2017
12:30:31
CompletionHandler?
так это и есть же у тебя там комплишн хендлер не?

там где ты жсон получил

Engylizium
07.03.2017
12:30:43
Не

Andrey
07.03.2017
12:30:55
CompletionHandler?
Делаешь запрос, когда запрос выполнен CompletionHandler возвращает обьекты, устанавливаешь их

Alfred
07.03.2017
12:31:52
Data(contentsOf: request!) это очень сильно. Не надо так.

Engylizium
07.03.2017
12:32:16
Понял, спасибо

Sergey
07.03.2017
12:33:36
всем привет кто-то делал в своем приложение авторизацию через google?

не совсем понятно когда вызиваются методы делагата GIDSignInUIDelegate

-_-
07.03.2017
12:45:14
Подскажите как подгружать инфу во вьюшку. У меня функция загружает все, а вот чтобы инфа появлялась после функции(после ее окончания) не выходит
Не понятна твоя задача. Если у тебя загрузка выполняется не в мейн треде, то надо в мейне все данные поставить в UI >> По сути я хочу чтобы инфа начала грузить во viewLoad, а во ViewDidLoad поступала на вью как только инфа догрузится Плохо хочешь. Есть метод loadView, но вряд ли это твой случай. Я бы посоветовал во viewDidLoad начать грузить и поставить крутилку, а когда загрузится - крутилку убрать и отобразить данные

Google
-_-
07.03.2017
12:46:39
Data(contentsOf: request!) - это что? Синхронный запрос что ли? Если так, то вообще плохо. Любые проблемы с сетью и твое приложение зависнет

Engylizium
07.03.2017
12:48:24
request! - URL Получение жсона через Data(contentsOf:_)

async это через URLSession?

-_-
07.03.2017
12:55:45
Да не. Я не о том. Понятно, что request - это URL. Плохо то, что Data(contentsOf:) - это синхронный метод

Alfred
07.03.2017
12:56:38
Engylizium
07.03.2017
12:56:38
Нашел инфу по теме, спасибо за развернутый ответ! =)

-_-
07.03.2017
12:56:48
Можно сделать вот так: DispatchQueue.global(qos: .userInitiated).async { тут код получения данных с сервера DispatchQueue.main.async { тут обновление UI } }

Engylizium
07.03.2017
12:57:21
О

Спасибо

-_-
07.03.2017
12:57:49
этого всего не будет если делать на бэкграунд треде. тут проблема немного в другом.
Ну понятное дело что есть более правильные способы получения JSON’а (:

Или ты не об этом?

Engylizium
07.03.2017
12:58:39
Я вско разно пробовал но использовал только DispatchQueue.main.async и экспериментировал где UI обновлять

Engylizium
07.03.2017
12:59:22
Надо

-_-
07.03.2017
13:01:43
Я вско разно пробовал но использовал только DispatchQueue.main.async и экспериментировал где UI обновлять
Ты понял что делает DispatchQueue.main.async? Это для того, чтобы в очередь в мейн треде добавить какой-то код. async тут означает только то, что у тебя выполнение не заблочится на моменте вызова DispatchQueue.main.async

Sergey
07.03.2017
13:02:04
что-то у меня уже мозги плавятся. в свифте нет способа получения key/value значений json по значениям в индексе? надо всегда key указывать? неужели никто не получал совершенно рандомные данные, которые нужно просто распарсить?

ну кроме своей реализации, конечно

Engylizium
07.03.2017
13:02:23
Ну понятное дело что есть более правильные способы получения JSON’а (:
dataTask(withRequest:_) я так понял более правильный вариант

Google
Sergey
07.03.2017
13:03:56
кто нибудь объясните мне, при чем здесь язык и парсинг json?
готовых решений на этом языке* давай так

Sergey
07.03.2017
13:04:28
Я не оч понял вопрос, но вдруг… https://github.com/SwiftyJSON/SwiftyJSON
нет, он не может в рандомные индексы

только по ключу

-_-
07.03.2017
13:04:50
Что такое рандомный индекс? :(

json[999999] такое он может

Sergey
07.03.2017
13:08:42
нужно что-то типа json[0].jsonObject1[4].jsonObject2[2].string, например

ну или просто json[0][4][2].string

Ilkhom
07.03.2017
13:09:44
swift not compliant

Admin
ERROR: S client not available

-_-
07.03.2017
13:10:39
ну или просто json[0][4][2].string
Так вроде так писать можно. Или ты хочешь получать значение по 4му по счету КЛЮЧУ?

Sergey
07.03.2017
13:12:10
Так вроде так писать можно. Или ты хочешь получать значение по 4му по счету КЛЮЧУ?
да, я хочу получить значение по 4му ключу. а потом я хочу еще и сам ключ получить

Devios Cr&.
07.03.2017
13:12:20
Oleh ▼ Riasnoi, [7 марта 2017 г., 15:11]: в свифте нет возможности делать или когда байндинг делаешь? типа if let a = opt || let b = opt2?

Sergey
07.03.2017
13:13:05
swift not compliant
почему not compliant? SwiftyJSON так и работает

по второму варианту*

-_-
07.03.2017
13:13:21
да, я хочу получить значение по 4му ключу. а потом я хочу еще и сам ключ получить
Ааа. Низя. Нежелательно как минимум. Порядок не гарантируется же http://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order

-_-
07.03.2017
13:15:53
Вообще учитывая вот этот пример: for (key,subJson):(String, JSON) in json { //Do something you want } не вижу проблемы написать extention, который будет перебирать ключи и возвращать i-тый. Ну и значение по этому ключу так же. Но в целом это все равно как-то не очень. И виноват тут не swift =)

Sergey
07.03.2017
13:16:35
я не свифт виню. я спрашиваю почему нет такого решения)

-_-
07.03.2017
13:17:21
Ну потому что словарь в JSON это херня для доступа по ключу

Google
-_-
07.03.2017
13:17:29
Не гарантирующая порядка

Наверное поэтому))

Devios Cr&.
07.03.2017
13:20:21
для тех кому скучно)

http://joxi.ru/E2pXBRXTZnMb2Y

Sergey
07.03.2017
13:21:39
Ну потому что словарь в JSON это херня для доступа по ключу
сколько не работал на джаве, там всегда все ок ;)

-_-
07.03.2017
13:23:10
сколько не работал на джаве, там всегда все ок ;)
Хы, да у меня даже в выдаче гугла первые две ссылки подсвечены как уже посещенные. Тоже на яве когда-то уперся в порядок ключей. Нельзя на него надеяться http://stackoverflow.com/questions/17229418/jsonobject-why-jsonobject-changing-the-order-of-attributes

Vadim
07.03.2017
13:23:25
я не свифт виню. я спрашиваю почему нет такого решения)
Потому что словарь не сохраняет порядок элементов

Да и вообще это бред какой-то

Если известна схема жсона, то почему бы не использовать ключи?

Vadim
07.03.2017
13:24:26
А откуда у тебя индексы тогда?

Sergey
07.03.2017
13:25:03
у меня нет индексов. у меня нет данных. мне не важен порядок. мне нужно просто распарсить

что сложного?

Ilkhom
07.03.2017
13:25:30
почему not compliant? SwiftyJSON так и работает
потому что это враппер, а vanila swift работает с опционалками и нет гарантии что значение вообще будет существовать, но даже если и будет, то будет ли он валидным

Vadim
07.03.2017
13:25:44
Какой-то странный способ парсинга

Sergey
07.03.2017
13:26:00
Какой-то странный способ парсинга
думаешь мне это нравится? вот серьезно

Vadim
07.03.2017
13:26:32
Просто наверняка это можно сделать нормальным способом

Sergey
07.03.2017
13:27:03
предлагай :)

Vadim
07.03.2017
13:27:13
Так я кейса не знаю, лол

Sergey
07.03.2017
13:27:35
кейс - распарсить жсон и передать в сокет

Vadim
07.03.2017
13:28:02
Окей, для начала, что значит “распарсить” в данном случае?

Антон
07.03.2017
13:28:39
“распарсить джейсон" означает только одно

Страница 663 из 2351