
? Райзя ?
22.03.2017
17:02:41
Просто не догоняю ка это 0.о
можно через containerView реализовать, можно через childViewController и свои view встроить в другие вью по segue через такой код
//для контроллера
protocol EmbedViewProvider {
func viewForEmbedWithIdentifier(_ identifier: String) -> UIView?
}
class EmbedSegue: UIStoryboardSegue {
override func perform() {
guard let provider = source as? EmbedViewProvider else {
fatalError("Source vc should be Embed view provider")
}
guard let identifier = identifier, let view = provider.viewForEmbedWithIdentifier(identifier) else {
fatalError("No view for embed segue")
}
destination.willMove(toParentViewController: source)
source.addChildViewController(destination)
view.addSubview(destination.view)
destination.view.autoPinEdgesToSuperviewEdges()
destination.didMove(toParentViewController: source)
}
}
именно вью внизу
а кнопки — просто кнопки


Сергей
22.03.2017
17:03:23
Народ для логирования в swift что используется? Интересует классы с возможностью выбора уровня логирования?

Google

Olexii
22.03.2017
17:03:46
стандартное?

? Райзя ?
22.03.2017
17:03:48

Сергей
22.03.2017
17:04:03
Из стандартного есть что то?

Olexii
22.03.2017
17:04:37
нет)

Ilkhom
22.03.2017
17:04:37
из стандартного NSLog

Ilya
22.03.2017
17:04:59
print же

Сергей
22.03.2017
17:05:00
Ну его я нашёл) ок спасибо

Olexii
22.03.2017
17:05:20
https://github.com/matteocrippa/awesome-swift#logging

Ilkhom
22.03.2017
17:05:37

Olexii
22.03.2017
17:06:52

Ilkhom
22.03.2017
17:07:36
логи из NSLog можно увидить в Devices

Andrey
22.03.2017
17:09:27

Olexii
22.03.2017
17:10:31
что так Devices? на реальном устройстве? там print выводит в консоль

Google

q210
22.03.2017
17:11:44
Xcode -> Window -> Devices

Ilkhom
22.03.2017
17:11:59

q210
22.03.2017
17:12:03
там выбираешь устройство и жмакаешь "console"

Ilkhom
22.03.2017
17:13:00

q210
22.03.2017
17:13:03
(попутал с View Device Logs)
console это такая малкая кнопка с треугольником внутри квадрата внизу
(да, они офигенно запихали её конечно)

Ilkhom
22.03.2017
17:14:04
поетому не пользуйтесь NSLog
особенно при выводе токенов

? Райзя ?
22.03.2017
17:14:42

Ilya
22.03.2017
17:17:32
ну не все уже прямо так плохо

Olexii
22.03.2017
17:40:49

? Райзя ?
22.03.2017
17:46:18
??

Engylizium
22.03.2017
17:54:58
Пойду статью на хабр катать, это же гениально!

Ilya
22.03.2017
17:58:20
первый раз вижу свифто-мем

? Райзя ?
22.03.2017
18:03:17
с почином

Firdavs
22.03.2017
18:38:50
В ios разработке mvpc используют?

NikitoSha
22.03.2017
18:47:06
Народ. Сейчас залез в икскод, пересобрал проект и вижу, что токен для пушей не генерится. Ну исправил - в профиле разработчика нажал ИЗМЕНИТЬ профайлы, скачал измененные (там пуш подключен) и установил в икскод. Везде все показывает, что всё классно, а по факту пуши перестали приходить с сервака. Там стоят старые *.pem-файлы. Вопрос: после модификации и перезаливки в икскод файлов профилей нужно пересоздавать сертефикаты для пушей?

PihTa
22.03.2017
18:50:25
На серваке надо обновить сертификаты

NikitoSha
22.03.2017
18:50:40
Это 100%?

Google

PihTa
22.03.2017
18:50:46
Соответствующие. Для sandbox или production

NikitoSha
22.03.2017
18:52:21
Да мне тоже непонятна. Последний раз обнову выкатывал для айос 9-й версии. Перестали пуши приходить на мобилы после выхода 10-й. Залез в профили провижн - там все стоят Invalid. Исправил их и теперь, получается, придется сертефикаты снова пересобирать на сервак
Меня эта чепухня уже запарила. То Андроид еженедельные обновы делает, то айос раз в полгода, но зато так, что все летит к чупачупсам

PihTa
22.03.2017
18:53:16
Да лучше обновить если инаалид
Скорее всего дело не в эппле, а какая-то другая причина вызвала инвалидность профилей

NikitoSha
22.03.2017
18:54:02
Инвалидность)))
Множественные переломы ,)
:)
Ладно, завтра тогда буду заново выкатывать сертификаты. Благодарю)
А, вон чо произошло
Добавили Apple Push Notification Authentication Key (Sandbox & Production)

NikitoSha
22.03.2017
18:57:27
Ну это же альтернатива старым сертификатам и старые должны же работать. Вариант с pem-файлами с какого-то крена отвалился

Vlad
22.03.2017
19:54:35
Ребята, гуру многопоточности. Нужен совет.
Вот у меня есть список объектов. Для каждого из них в цикле я асинхронно делаю http запрос. У каждого запроса есть обработчик.
Как мне лучше всего сделать так, чтобы из цикла я вышел только тогда, когда все обработчики для всех запросов выполнились?

Υπερβορεία
22.03.2017
19:57:32
Language:
swift
Source:
print("Welcome")
Result:
Welcome

Alfred
22.03.2017
19:59:55

? Райзя ?
22.03.2017
19:59:57
и еще while(true){} пригодится

Alfred
22.03.2017
20:00:39

? Райзя ?
22.03.2017
20:02:04
ну а как еще выйти из цикла когда все запросы закончились. Ждать последовательно конца каждого запроса

Google

? Райзя ?
22.03.2017
20:02:09
а где ждать? правильно
while(!isDone){}
только ненаю зачем в цикле этом торчать..
но это уже креатив автора

Denis
22.03.2017
20:03:36
Чем вайл, тогда уже лучше рекурсией сделать

Vlad
22.03.2017
20:03:39

Admin
ERROR: S client not available

? Райзя ?
22.03.2017
20:04:05

Alfred
22.03.2017
20:04:52
тебе надо что-то сделать, когда всё закончится?

Vlad
22.03.2017
20:06:02
Я могу просто подробнее описать
Вот у меня есть список курсов в универе. Типа 1 курс, 2 курс и т.д.
в каждом из них есть список групп
Мне нужно скачать список курсов и для каждого список групп и только потом вернуть в мейн поток это все

? Райзя ?
22.03.2017
20:07:29
courtesy to @alfredzien
http://amro.co/gcd-using-dispatch-groups-for-fun-and-profit


Alfred
22.03.2017
20:17:22
@rextester_bot swift while (true) { print("я лох") }
как то это не так работает видимо
Language:
swift
Source:
for i in 1...1000 { print("wuzzup") }
Result:
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup
wuzzup..

Google

Alexandr
22.03.2017
20:41:25
где мог накасячить?

Olexii
22.03.2017
20:42:25
функция вложена в функцию

Alexandr
22.03.2017
20:42:31
signal sigabrt
а вот нифига)

Vadim
22.03.2017
20:46:05
Эм

Olexii
22.03.2017
20:46:08
не, это не ошибка компилятора/рантайма, но ты ее все равно не вызываешь
эта ошибка очень похожа что нет связи с ib

Alexandr
22.03.2017
20:46:43
кароч
нажимаем на кнопку

Vadim
22.03.2017
20:46:55
Зачем тебе функция в функции?

Alexandr
22.03.2017
20:47:02
меняется ее таг,цвет и текст

Alfred
22.03.2017
20:47:05
sigabrt это значит что программа завершенна, тысячи причин могут быть

Alexandr
22.03.2017
20:47:10
я стер функцию

Dmitriy
22.03.2017
20:47:20
Причем аварийно завершена

Vadim
22.03.2017
20:47:31
на какой строке хоть

Dmitriy
22.03.2017
20:47:47
И должно дамп памяти где-то уложит, по идее

Alexandr
22.03.2017
20:55:32

Alfred
22.03.2017
20:56:11
в консоле что?