Paks
в статье пишут, что неверно)
Paks
ничего не произойдет
Paks
ответ: Ранлуп не взведен, как говорится. А еще будет небольшая утечка памяти, но это уже для гурманов.
Paks
а теперь обьясните, что это означает)
Paks
что значит ранлуп не возведен?)
Bulat
не
Bulat
когда делаешь scheduledTimer
Bulat
с ранлупом все ок
Bulat
должно быть
Paks
проверил в коде)
Paks
и правда не тикает)
Paks
походу
Anonymous
с фреймворками этими вообще деградировал и не юзаю диспатч_вставьтеслово
Oleksii
Paks
пишут решение такое: Если надо сделать таймер в фоне, то стоит выбирать поток с бегущим ранлупом. Либо воспользоваться уже готовым решением для GCD.
Paks
http://stackoverflow.com/questions/8304702/how-do-i-create-a-nstimer-on-a-background-thread/8403743#8403743
Stanislav
что значит ранлуп не возведен?)
У тебя есть новый Thread, но ему нечего делать. Если ты создаешь в нем RunLoop, это не дает Thread’у завершиться. То есть этот пример хорош в том случае, если бы в блоке был тяжелый код с коллбеком - если я все правильно понял, такое бы отлично отработало (и Thread бы спокойно помер)
Paks
Нашел очередной сборник вопросов для собеседований) прикольные вопросы и подход, если кто собеседует - отличная статья на заметку https://m.habrahabr.ru/post/322252/
Paks
Вопрос оттуда)
Stanislav
В мейне ран луп явно есть, в бекграунд треде, видимо, тоже все сделано для того, чтобы она не дохла
Stanislav
Вообще мне такой пример когда-то попался, только на Objective, было забавно func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { DispatchQueue.main.sync { self.hello() } return true } func hello() { print("hello") }
Stanislav
Нашел очередной сборник вопросов для собеседований) прикольные вопросы и подход, если кто собеседует - отличная статья на заметку https://m.habrahabr.ru/post/322252/
Да ну. Вопрос на уровне «я забыл написать параметр DispatchQueue.global() и у меня не работали таймеры, но теперь-то я знаю»
Stanislav
Это тоже так себе ответ (:
Paks
Ога) такую штуку похожую делал на одном из проектов
Paks
Приложение было написано на половину как конструктор
Paks
А все интерфейсы рисовались и настраивались на сервере) а как новую логику добавлять - хз)
Stanislav
И я делал, зависит от задачи. Можно тупо вебвью. А можно написать свой огромный костыль с формированием интерфейса с JSON на сервере. При желании можно описать и кнопки и поля и что с ними делать (ну, базовый уровень)
Paks
Разве что засылать текстом функции и их преообразовываит в код
Paks
Хз) но это хак как приватные апи мона юзать)
Paks
В обход апстора) но под это все предварительно все равно заготовки бы ь должны)
Stanislav
Можно интерфейс формировать из JSON, а с сервера получать логику на JS и делать evaluate. Короче пиздец можно костылять.
Stanislav
Stanislav
«На мой взгляд, самый оптимальный вариант — это попросить дизайнера переделать. »
Stanislav
Stanislav
Переделать то, что в IB, в IB целиком делается за минут 10. Окей.
Clyde
Меня зовут Павел и я начинающий программист. Я пока учусь и еще не участвую в каком то проекте. Трудно назвать меня специалистом, но в целом objective-c я понимаю. Возможно я могу кому то помочь, подсказать. Надеюсь что вы мне сможете что то подсказать. Узнал про чат в подборке от http://netology.ru/
Stanislav
Stanislav
Сделал по приколу и несколько вьюх в скролле ¯\_(ツ)_/¯ Но конечно варианты попросить дизайнера переделать или отсортировать слова по длине тоже в силе (: А если серьезно - статья как раз этим не очень. Не вопросами, а ответами на них, они неполные, к сожалению.
Stanislav
Синглтон Конструктор
Stanislav
Аа. У тебя о другом вопрос
Stanislav
Прямо в ините своего объекта подписывайся
Bulat
да, конечно
Oleksii
а static/class property могут быть lazy?
Bulat
пишешь дальше init() {..}
Bulat
подписываешь там все какие надо нотификейшены
Stanislav
//: Playground - noun: a place where people can play import UIKit class Network { static let shared = Network(); init() { NotificationCenter.default.addObserver(self, selector: #selector(messageReceived), name: NSNotification.Name(rawValue: "name"), object: nil) } @objc func messageReceived() { print("message ok") } } Network.shared.messageReceived() NotificationCenter.default.post(name: NSNotification.Name(rawValue: "name"), object: nil);
Stanislav
Прям в плейграунд можно кинуть
Stanislav
а static/class property могут быть lazy?
если var, то lazy по дефолту
Stanislav
Вообще в iOS9, кажется, NotificationCenter стал хранить weak ссылки
Stanislav
То есть если ты не отписался, приложение не упадет
Bulat
если таргетишь iOS 9, то не обязательно
Stanislav
В связи с этим вопрос, кстати. Вот в iOS9 ссылки в NotofocationCenter стали weak. А как вообще он до этого хранил ссылки на объекты. Если до 8ки, получается, были стронг, то как они могли дохнуть? Ведь referenceCount как минимум +1 из-за самого центра? Или он как-то по-другому хранил их раньше, так что retain для подписанных объектов не происходил, он мог сдохнуть, но указатель в самом центре не становился nil, и мы получали креш?
Stanislav
Кстати, насколько тут проскакивало, это по идее еще и threadsafe из коробки
Stanislav
А, ну в общем есть такой тип указателя, да? Что ты и не ретейнишь, как в случае strong, но и nil при сдыхании он не станет, как weak?
Dmitriy
Ребят, посоветуйте, какой айфон сейчас лучше всего купить для тестирования приложений? Стоит ориентироваться на 5 или можно рассматривать 6 как минимальный?
Dmitriy
В плане производительности. Чтобы потестировать игру.. не тормозит, значит оке, в продакшн )
Ilkhom
ориентируйся на 7 уже
Max
В плане производительности. Чтобы потестировать игру.. не тормозит, значит оке, в продакшн )
5s если ты хочешь взять минимальную производительность , ибо пятерку уже через пол года перестанут поддерживать
Anonymous
Max
+ 5ка последняя с 32 битной архитектурой. Она не стоит уже внимания и сил :(
Dmitriy
5s если ты хочешь взять минимальную производительность , ибо пятерку уже через пол года перестанут поддерживать
Я пока тоже склоняюсь к 5s. Насколько я понял, он поддерживает metal. Тоесть самая тормозная из металов, что хорошо )
Bulat
У 6 Plus самый низкий фпс вроде
Bulat
Ибо рeндeрит в 3х, а потом даунскeйлит в 1080
Bulat
И 1гб озу на это всe
Dmitriy
И 1гб озу на это всe
Интересная инфа.. спасибо
Bulat
Учитывая что шeстeрка нe дала мощного прироста в производительности
Bulat
Возможно это дажe мeдлeннee 5s
Bulat
Но eсли всe таки быстрee
Dmitriy
А сколько памяти выделяется под одно приложение?
Bulat
То нe сильно. А актуальность устройства чуть дольшe будeт
Bulat
То eсть в планe покупки вродe дажe выгоднee
Max
@khabiroff дело говорит Но я бы взял и 5s и 6 plus Так уж точно не прогадаешь
Bulat
Но это прeдположeниe только
Dmitriy
@khabiroff дело говорит Но я бы взял и 5s и 6 plus Так уж точно не прогадаешь
Ну посмотрим, как пойдет на эплсторе ) Может озолочусь, так возьму каждой модели по паре ))
Max
Благо бу сейчас отдают за копейки
Dmitriy
Ясненько, спасибо всем.
Max
Не за что ;) Удачи!
Bulat
это что