Paks
Apple is starting to reject auto-updating apps forums.developer.apple.com/thread/73640 🙃
Igor
Paks
Которые послп ревью могут догрузить функционал, я так понимаю
Paks
Всегда возможно было
Paks
https://rollout.io
Paks
Rollout lets you push code-level changes to native iOS apps, without waiting on the App Store. You can fix bugs, update configuration data, patch security holes or diagnose issues without having to go through the app store review process.
Igor
Vladimir
q210
в первоисточнике не про JS
q210
https://forums.developer.apple.com/thread/73640
q210
> This includes any code which passes arbitrary parameters to dynamic methods such as dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(), and running remote scripts in order to change app behavior or call SPI, based on the contents of the downloaded script.
q210
хз как они там будут отличать нормальный performSelector: от динамического изменения поведения
q210
но я лично уже подсел на измену
q210
будем ждать развития событий
Paks
В обж-с же можно развертывать классы из строки
Paks
Мб это имеется в виду как дозагрузка
Alexander
Ребята, кто в коворкингах рабочей станции был? Где поспокойней атмосфера, на дмитровской или на курской?
Engylizium
Задам глупый вопрос:
Есть ли способ презентить вью если не знаешь вьюконтроллер или обязательно нужно указывать что презентить тут и там
David
Народ, помогите, а то чет упоролся уже под конец дня. Есть динамическая таблица, в ней 4 секции, в каждой по 2 ячейки, датасорс таблицы - массив из 8ми элементов.
Как мне в методе cellforrowindexPath получить доступ к каждому элементу массива? (соответственно от 0 до 7)
David
мм...чет все равно не доганяю...
Dmitry
тебе нужен двумерный массив
Dmitry
а не просто массив
Dmitry
тогда сможешь доставать элемент из датасурса через dataSource[indexPath.section][indexPath.row]
Dmitry
Dmitry
но это как то костыльно как по мне
Engylizium
Есть проблема, после того как мне тут насоветовали, у меня неправильно грузятся данные. В кратце:
Функция качает через URLSession.shared.dataTask джсон и парсит его, затем должна инфа размещаться во вью. Но инфа размещаеться до того как закончится загрузка инфы с серва. Собственно вот скрин вьюконтроллера:
Engylizium
Engylizium
Проще же сеттить инфу через комплешнХендлер или как то по другому можно?
David
а если заранее не известно сколько ячеек в секции, то такая формула вряд ли подойдет?
David
просто у меня падает, выходит за границы массива
Anonymous
Anonymous
давайте диспатч кю забивать
Anonymous
синхронно, асинхронно, колбеки
Anonymous
еее, обожаю
Anonymous
Опять ты со своим promisekit
Anonymous
Всем привет! #whois Разрабатываю inhouse-приложения в мексиканской компании по разработке программ лояльности; php, objc / swift; надеюсь на обаюдный обмен опытом и лучшими практиками разработки приложений для ios; костромич; группу нашёл в гугле
Anonymous
Опять ты со своим promisekit
уууу этот промискит, уу, буржуи из своего js, никогда на колени не встану, как лежал, так и буду лежать
Anonymous
Anonymous
item {
didSet{
DispatchQueue.main.async{
print("setting start")
self.viewerLabel.text = self.item.title
print("setting finish")
}
}
}
то есть весь код который у тебя в устанавливает вью, ты переносишь в дидСет-обсервер проперти айтем.
и он выполнится только после того, как ты действительно получишь и распарсишь свой джейсон, и полученную модель присвоишь свойству айтем
Engylizium
О
Engylizium
Идеально, спасибо!
Anonymous
Anonymous
func getItem(_ token: String, ID: Int, onCompletion: @escaping ServiceResponse) {
...
let task = URLSession.shared.dataTask(with: request as URLRequest, completionHandler: {data, response, error -> Void in
let statusCode = self.statusCode(response)
if let jsonData = data {
let json:JSON = JSON(data: jsonData)
onCompletion(statusCode, json, nil)
} else {
onCompletion(statusCode, nil, error)
}
})
task.resume()
}
Anonymous
typealias ServiceResponse = (Int, JSON?, Error?) -> Void
Engylizium
Completion не помог =(
Engylizium
Хотя я наверное не туда засунул его
Engylizium
После .resume()
Engylizium
didSet не помог, инфа грузится, но почему-то не сеттится(?)
Engylizium
Попробую еще раз на коплейшн завязать
Anonymous
🎴
И это ios комьюнити!
Engylizium
В общем и целом, у меня получилось так:
В viewDidLoad вызывается функция с хендлером
В самой функции пришлось добавить DispatchQueue ибо в логе Xcode говорит что  This application is modifying the autolayout engine from a background thread after the engine was accessed from the main thread. This can lead to engine corruption and weird crashes.
Anonymous
> В viewDidLoad вызывается функция скомплейшнХендлер
Что-то тут не так
Ilia
Чуваки, кто где в магистратуре учится в мск? И кто как работает при этом? Инсайд инфу пожалуйста и извиняюсь за оффтоп
Anton
🎴
@Engylizium, чувак, ты переехал из норильска?
Engylizium
Anonymous
Кто-нибудь пишет юнит-тесты? Поделитесь, как вы тестируете методы, которые работают с сетью? Я имею ввиду "test doubles"
🎴
Anonymous
ммм, пирамиды рока
Engylizium
Новосиб
Anonymous
ммм гора колбеков с горой колбека отлова ошибок
🎴
Норм, уже нашёл работку там?
Engylizium
Нет еще, думаю приехать и там уже искать на месте. И время будет, и инет нормальный
🎴
Ясно, удачи!
Engylizium
Спасибо =)
Anonymous
Anonymous
да, я видел, как для этого создавались n блоков для обработки ошибок, которые в итераторе n раз были вызваны. как удобно.
Anonymous
и прозрачно!
Anonymous
Это решается гораздо проще
Anonymous
Есть два таких замечательных класса, как NSOperation и NSOperationQueue, и жить они будут явно дольше, чем очередная библиотека, держащаяся на временном хайпе
Anonymous
да. хайпе. футур переменные. уу, ну и хайп
Anonymous
новинка!
Anonymous
Футуры не хайп, а их реализация в виде промисов - хайп
Anonymous
да, у вас трава зеленее, понятно