
Булат
23.02.2017
21:26:34
не
когда делаешь scheduledTimer
с ранлупом все ок
должно быть

Google

Dmitriy
23.02.2017
21:31:14
проверил в коде)
и правда не тикает)

F
23.02.2017
21:36:05

Dmitriy
23.02.2017
21:37:23
походу

? Райзя ?
23.02.2017
21:42:43
с фреймворками этими вообще деградировал и не юзаю диспатч_вставьтеслово

-_-
23.02.2017
21:45:33

Dmitriy
23.02.2017
21:52:23
пишут решение такое:
Если надо сделать таймер в фоне, то стоит выбирать поток с бегущим ранлупом. Либо воспользоваться уже готовым решением для GCD.
http://stackoverflow.com/questions/8304702/how-do-i-create-a-nstimer-on-a-background-thread/8403743#8403743

-_-
23.02.2017
21:58:34
что значит ранлуп не возведен?)
У тебя есть новый Thread, но ему нечего делать. Если ты создаешь в нем RunLoop, это не дает Thread’у завершиться. То есть этот пример хорош в том случае, если бы в блоке был тяжелый код с коллбеком - если я все правильно понял, такое бы отлично отработало (и Thread бы спокойно помер)

Dmitriy
23.02.2017
22:00:27
Нашел очередной сборник вопросов для собеседований) прикольные вопросы и подход, если кто собеседует - отличная статья на заметку
https://m.habrahabr.ru/post/322252/
Вопрос оттуда)

-_-
23.02.2017
22:00:38
В мейне ран луп явно есть, в бекграунд треде, видимо, тоже все сделано для того, чтобы она не дохла
Вообще мне такой пример когда-то попался, только на Objective, было забавно
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
DispatchQueue.main.sync {
self.hello()
}
return true
}
func hello() {
print("hello")
}

Google

-_-
23.02.2017
22:06:51

Dmitriy
23.02.2017
22:08:42
Ога) такую штуку похожую делал на одном из проектов
Приложение было написано на половину как конструктор
А все интерфейсы рисовались и настраивались на сервере) а как новую логику добавлять - хз)

-_-
23.02.2017
22:10:01
И я делал, зависит от задачи. Можно тупо вебвью. А можно написать свой огромный костыль с формированием интерфейса с JSON на сервере. При желании можно описать и кнопки и поля и что с ними делать (ну, базовый уровень)

Dmitriy
23.02.2017
22:10:01
Разве что засылать текстом функции и их преообразовываит в код
Хз) но это хак как приватные апи мона юзать)
В обход апстора) но под это все предварительно все равно заготовки бы ь должны)

-_-
23.02.2017
22:11:05
Можно интерфейс формировать из JSON, а с сервера получать логику на JS и делать evaluate. Короче пиздец можно костылять.
«На мой взгляд, самый оптимальный вариант — это попросить дизайнера переделать. »
Переделать то, что в IB, в IB целиком делается за минут 10. Окей.

Clyde
23.02.2017
23:17:09
Меня зовут Павел и я начинающий программист. Я пока учусь и еще не участвую в каком то проекте. Трудно назвать меня специалистом, но в целом objective-c я понимаю. Возможно я могу кому то помочь, подсказать. Надеюсь что вы мне сможете что то подсказать. Узнал про чат в подборке от http://netology.ru/

-_-
23.02.2017
23:26:44
Сделал по приколу и несколько вьюх в скролле ¯\_(ツ)_/¯
Но конечно варианты попросить дизайнера переделать или отсортировать слова по длине тоже в силе (:
А если серьезно - статья как раз этим не очень. Не вопросами, а ответами на них, они неполные, к сожалению.

F
23.02.2017
23:26:56
ребят ребят, эпический вопрсо по свифту
синглтоны, объявленные таким образом
если им намутить конструктор, то прокатит?
и как конструктор тогда объявить? тупо init()?
хочу сделать синглтон-менеджер, которые при первом вызове будет себя подписывать на нотификейшены и всё такое
в обжси в конструкторе это делалось, но мб надо тогда унаследоваться от чего-то?

Google

F
23.02.2017
23:28:21
NSobject?

-_-
23.02.2017
23:28:35
Синглтон
Конструктор

F
23.02.2017
23:29:03
Менеджер
Так делают)

-_-
23.02.2017
23:29:22
Аа. У тебя о другом вопрос
Прямо в ините своего объекта подписывайся

Булат
23.02.2017
23:36:42

Olexii
23.02.2017
23:37:03
а static/class property могут быть lazy?

Булат
23.02.2017
23:37:06
пишешь дальше
init() {..}
подписываешь там все какие надо нотификейшены

-_-
23.02.2017
23:37:20
//: 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);
Прям в плейграунд можно кинуть

F
23.02.2017
23:39:41
уже сделал, спасибо))

-_-
23.02.2017
23:39:42

F
23.02.2017
23:40:16
кстати
в свифте в деструкторе отписывать объекты от нотификейшн центра тоже стоит?
удивился, что не надо наследоваться ни от чего, чтобы подписать класс на уведомления

-_-
23.02.2017
23:40:53
Вообще в iOS9, кажется, NotificationCenter стал хранить weak ссылки
То есть если ты не отписался, приложение не упадет

Булат
23.02.2017
23:42:34

F
23.02.2017
23:42:50
айос 9, да
ха, прикольно, наконец-то

Google

F
23.02.2017
23:43:10
интересно, когда теперь делегат у FRC станет тоже слабой ссылкой)

-_-
23.02.2017
23:45:35
В связи с этим вопрос, кстати. Вот в iOS9 ссылки в NotofocationCenter стали weak. А как вообще он до этого хранил ссылки на объекты. Если до 8ки, получается, были стронг, то как они могли дохнуть? Ведь referenceCount как минимум +1 из-за самого центра? Или он как-то по-другому хранил их раньше, так что retain для подписанных объектов не происходил, он мог сдохнуть, но указатель в самом центре не становился nil, и мы получали креш?
Кстати, насколько тут проскакивало, это по идее еще и threadsafe из коробки

F
23.02.2017
23:48:15
мб unsafe_unretained
но не помню точно

-_-
23.02.2017
23:49:35
А, ну в общем есть такой тип указателя, да? Что ты и не ретейнишь, как в случае strong, но и nil при сдыхании он не станет, как weak?

F
23.02.2017
23:52:20
ага

Dmitriy
24.02.2017
06:38:50
Ребят, посоветуйте, какой айфон сейчас лучше всего купить для тестирования приложений? Стоит ориентироваться на 5 или можно рассматривать 6 как минимальный?
В плане производительности. Чтобы потестировать игру.. не тормозит, значит оке, в продакшн )

Ilkhom
24.02.2017
06:45:31
ориентируйся на 7 уже

Max
24.02.2017
06:46:24

Betrayer
24.02.2017
06:47:05
5с

Max
24.02.2017
06:47:10
+ 5ка последняя с 32 битной архитектурой. Она не стоит уже внимания и сил :(

Dmitriy
24.02.2017
06:48:08

Булат
24.02.2017
06:48:15
У 6 Plus самый низкий фпс вроде

Dmitriy
24.02.2017
06:48:36

Булат
24.02.2017
06:49:03
Ибо рeндeрит в 3х, а потом даунскeйлит в 1080
И 1гб озу на это всe

Dmitriy
24.02.2017
06:49:49

Булат
24.02.2017
06:49:59
Учитывая что шeстeрка нe дала мощного прироста в производительности

Google

Булат
24.02.2017
06:50:23
Возможно это дажe мeдлeннee 5s
Но eсли всe таки быстрee

Dmitriy
24.02.2017
06:51:16
А сколько памяти выделяется под одно приложение?

Булат
24.02.2017
06:51:24
То нe сильно. А актуальность устройства чуть дольшe будeт
То eсть в планe покупки вродe дажe выгоднee

Max
24.02.2017
06:52:12
@khabiroff дело говорит
Но я бы взял и 5s и 6 plus
Так уж точно не прогадаешь

Булат
24.02.2017
06:52:17
Но это прeдположeниe только

Dmitriy
24.02.2017
06:52:54

Max
24.02.2017
06:52:55
Благо бу сейчас отдают за копейки

Dmitriy
24.02.2017
06:53:22
Ясненько, спасибо всем.

Max
24.02.2017
06:54:52
Не за что ;)
Удачи!

Булат
24.02.2017
06:57:06
это что
я когда буду обновлять свой 5s, мне его лучше не продавать что ли

Dmitriy
24.02.2017
07:23:44
накой тебе 5s?)
еще есть смысл брать 32 и 64 архитектуры, тестить
хотя тоже не представляю накой, это уже не поддерживается старье на 32 зачастую

Devios Cr&.
24.02.2017
07:25:35
Привет, меня зовут Олег, я iOS Разработчик компании Incode. Могу помогать новичкам, тестировать приложения, указывать на несоответсвие гайдлайнам и убогий дизайн). Интересно сообщество своим направлением. Я из Украины, город Запорожье.
Ссылкой на группу поделились со мной ребята из другого чата @devios, указали на то, что тут помогут справиться с моей проблемой.)