
Oleksandr
26.09.2017
10:32:30
кто подскажет, есть ли какой-то алиса для типа () -> () как например в джаве это просто Runnable что читается чуть человечнее?

?
26.09.2017
10:35:01
Что мешает самому сделать алиас?

Oleksandr
26.09.2017
10:35:49
ничего, но вдуг есть готовый

?
26.09.2017
10:36:30
Нету, и лучше так ( ) -> Void

Google

Oleksandr
26.09.2017
10:36:54
благодарю :)

-_-
26.09.2017
10:38:35

Oleksandr
26.09.2017
10:39:34
дык в восьмой там вот так: array.add(() -> { … your code … })
я как раз портирую с джавы на swift щас

Евгений
26.09.2017
10:41:13

Oleksandr
26.09.2017
10:41:57
не, я делал приложенько на libGDX под iOS и Android
Но оно такое кривое что решил сделать отдельную реализация на свифте для iOS
к libGDX для андроиде нет вопросов, но вот под iOS код уже весь на костылях)))

ol
26.09.2017
11:42:36
всем привет
подскажите, NSData(contentsOfURL: stringURL!) так уже не алё?

Ilkhom
26.09.2017
11:50:23
Data(url:) вроде
Data(contentsOf: URL, options: Data.ReadingOptions) вот

ol
26.09.2017
11:55:18
спасибо

Николай
26.09.2017
12:16:27
Ребят, кто может помочь как будет это "ThemeManager.currentTheme().lineView" выглядеть на obj? Заранее спасибо.

Google

Николай
26.09.2017
12:18:58
или в файле Obj нельзя использовать функцию класса Swift?

ol
26.09.2017
12:27:45
let stringURL = URL(string: url)
let objectWeatherTest = try! Data(contentsOf: stringURL! as URL)
поправьте, если не прав
пожалуйста

Ilkhom
26.09.2017
12:35:56

-_-
26.09.2017
12:36:33
>> stringURL! as URL
зочем

ol
26.09.2017
12:37:15
xcode так хреначит
try! Data(contentsOf: stringURL! )
так ругается
вернее, Data(contentsOf: stringURL!) вот так ругается

Николай
26.09.2017
12:38:39

Ilkhom
26.09.2017
12:39:15
if let'ом делай -> let stringURL = URL(string: url)
или guard'ом

-_-
26.09.2017
12:40:06

Yury
26.09.2017
12:43:38
в try catch оберни

-_-
26.09.2017
12:47:42
а, ну он же тебе не на stringURL! ругается

ol
26.09.2017
12:47:54
на Data

Sergei
26.09.2017
13:22:39
А у всех обновилось без ошибок ?
То есть было у кого com.apple.DiskManagerement error 0 ?

Google

ol
26.09.2017
13:23:27
он у меня даже не запускает

Sergei
26.09.2017
13:24:10
Ну вот у меня после этой ошибки тоже ничего не запускает. Ни старой, ни новой
И еще, как лучше поднимать систему - через TimeMachine или reintall mac os ( маверик ) ?

Artyom
26.09.2017
13:47:43
Всем привет, есть вопросец, мне нужно отрисовать круг, и разделить его горизонтально на 3 равные части, каждой из которых нужно задать свой цвет, как это реализовть програмно?
как нарисовать круг я нашел, но как пилить его на равные части найти не могу

-_-
26.09.2017
13:55:33
Нарисовать три прямоугольника и наложить маску круга (:

Oleksandr
26.09.2017
13:55:47
UIBezierPath умеет принимать углы начала и конца арки
хотя, не, нето
А можно в свифте как в джаве как-то сделать экранированый блок кода с локальными перемееными?
можно конечно вот так, но как-то это тупо:
{
let localVariable = 56;
print("value = \(localVariable)")
}()

Alex
26.09.2017
14:04:03

Oleksandr
26.09.2017
14:04:28
лишний вызов вроде как, хотя наверное компилятор умный…

Maxim
26.09.2017
14:17:11

Kirill
26.09.2017
14:24:15
а где ты делаешь addObserver?

Антон
26.09.2017
14:54:07
это мегауебищно
Дизайнеры показали концепт iPhone SE в стиле iPhone X
http://telegra.ph/Dizajnery-pokazali-koncept-iPhone-SE-v-stile-iPhone-X-09-26

Виталий
26.09.2017
14:57:10
щас каждый нарисует свой айфон, всех их обсуждать будешь какой айфон говно?)

Maxim
26.09.2017
14:59:26

Виталий
26.09.2017
15:01:26
а откуда ты знаешь что он не ремувится?

Google

Maxim
26.09.2017
15:06:26
Потому что если я три раза зайду и выйду из view, функция, которая должна срабатывать после default.post, срабатывает 3 раза

Виталий
26.09.2017
15:09:06
а willDisappear вызывается?

Khusan
26.09.2017
15:41:41
Добрый вечер. Тут тз одно пришло, там написанно что бы администратор мог добавлять вьюшки, блоки, изменять структуру экрана исключительно через CMS без обновления приложения. У меня такой вопросс, а это вообще возможно? Или я уже совсем отстал прогресса или же он хочет невозможное.

Valery
26.09.2017
15:42:19
Это возможно, но модераторы апстора за такое по голове не погладят

Виталий
26.09.2017
15:42:34
да ладно тебе
это вообще обычный кейс

Admin
ERROR: S client not available

Виталий
26.09.2017
15:42:48
можно все

Valery
26.09.2017
15:42:54
Ну я бы не погладил)

Виталий
26.09.2017
15:43:03
а что не так то?

Valery
26.09.2017
15:43:05
С другой стороны им будет проблематично узнать, что такое вообще есть

Виталий
26.09.2017
15:43:28
посмотри на авито, там все с бэкенда рулится

Valery
26.09.2017
15:43:46
Не хочу, но я тебе верю)

Виталий
26.09.2017
15:44:07
тут же речь не о том, что он там будет подгружать кусок приложения на каком нить JS
хотя и это в принципе прокатывает


Khusan
26.09.2017
15:45:15
При клике по этому пункту меню в основной части экрана открывается существующая структура приложения, где пользователь имеет возможность добавить или удалить любой экран. Добавление/удаление экрана в приложение через CMS
Добавится экран в самое начало. То есть будет первым в списке экранов, при этом в основной части страницы у пользователя будет возможность переместить экран в любое место структуры: до или после любого экрана, или даже внутрь какого-либо экрана или подэкрана (структура как у файловой системы). При добавлении экрана необходимо будет дать ему название . По умолчанию добавлены все экраны существующей структуры. Добавление и указание имени нового экрана в приложение через CMS
В самом верху экрана всегда отображается кнопка основного меню. При необходимости ее можно отключить, при этом появляется стрелочка назад, которая ведет к родительскому разделу. После идет название экрана и затем кнопка для поиска.
У каждого экрана вверху всегда есть блок с горизонтальным меню. Он содержит в себе все нижеследующие по структуре экраны (экраны, входящие в него). Но, этот блок невидим для тех экранов, у которых нет входящих в него экранов или экран только один. При добавлении в структуре нескольких экранов на одном и том же уровне в родительском экране появляется этот блок с горизонтальным меню. Если он не нужен, то его можно отключить (если навигация продумана и будет реализована в этом экране по-другому).
Сорри за текст


Valery
26.09.2017
15:46:03
епта

Виталий
26.09.2017
15:46:10
возможно конечно, что тут такого то из ряда вон?

Google

Valery
26.09.2017
15:46:46
Можно всё
Вопрос лишь в квалификации разработчика)

Виталий
26.09.2017
15:47:04
но ТЗ звучит конечно сомнительно как то)

Khusan
26.09.2017
15:52:01

Виталий
26.09.2017
15:53:15
я конечно не видел всего текста, но мне кажется ты преувеличиавешь)


Khusan
26.09.2017
15:56:04
Блоки
Для изменения контента экрана (или главного меню) необходимо кликнуть по соответствующему экрану в конструкторе слева(если это новый экран, его сначала надо добавить). В основной части экрана откроется текущий вид редактируемого экрана. Редактирование контента экрана
В редактируемом экране должны быть доступны следующие возможности:
• Добавление блока
• Удаление блока
• Перетаскивание блока на определенную позицию внутри экрана
• Изменение высоты блока
• Добавление группы блоков
• Удаление группы блоков
• Перетаскивание группы блоков на определенную позицию внутри экрана
После помещения нового блока на необходимую позицию его можно редактировать. При редактировании блока в него можно добавить/удалить следующие элементы:
• Кнопка
• Заголовок
• Текст
• Переключатель
• Ссылка
• Изображение
• Фоновое изображение
Для каждой кнопки, ссылки, переключателя, изображения и фонового изображения должна быть возможность задать ссылку, куда будет попадать пользователь при клике по этому элементу. Ссылка может быть трех типов: внутренняя, внешняя и вызывающая команду. Внутренняя ссылка задается указанием названия экрана из текущей структуры. Внешняя ссылка отправляет пользователя на внешний сайт, ссылка вызывающая команду вызывает команду подключение/отключение услуги, тарифа, пакета и т.д. через систему UMS. Для всех кликабельных элементов существующей структуры все ссылки в CMS будут уже назначены.
Также для блоков должна быть реализована возможность задать срок, сколько он должен отображаться в приложении. Это необходимо для управления ротацией баннеров.
Также должна быть реализована возможность группировки блоков на странице. То есть, когда все необходимые блоки добавлены, должна быть возможность объединения их по группам. То есть необходимо добавить группу и перетащить туда необходимые блоки. После того как группы созданы и заполнены, становится возможным перемещать блоки между группами и менять группы местами с помощью мышки.
Группу блоков можно удалить, при этом удалится все содержимое группы. Чтобы этого избежать, нужно сначала вынести все элементы из группы и только потом удалять.
Группу блоков можно переименовать.
Также при добавлении или редактировании блока пользователем CMS должны быть указаны тарифы, услуги и подключенные у пользователя пакеты, при которых этот блок отображать не нужно. Списки тарифов, услуг и пакетов подгружается из системы UMS. По умолчанию все блоки отображаются для всех пользователей.
При каждом действии выскакивает всплывающее окно, в которое нужно ввести все необходимые параметры.


Виталий
26.09.2017
15:57:26
ну тут только рутины всякой много, а так то ниче сложного вроде
да и как то абстрактно все написано

S
26.09.2017
15:59:05
Добрый вечер, ребята нужна ваша помощь
Нужно написать ТЗ на разработку приложения под iOS и Android....

Виталий
26.09.2017
15:59:27

Сartaxi.io
26.09.2017
16:04:48
Как вам обновление? Стоит обновлять?
https://goo.gl/DWH9W4

V
26.09.2017
16:13:34
UIActivityIndicatorView.stopAnimating() must be used from main thread only
Парни, где его правильно останавливать?
DispatchQueue.global().async {
guard let data = try? Data(contentsOf: urlImage!) else { self.activityIndicator.stopAnimating(); return }
понимаю, что в главном, писать DQ.main.async?

Suren
26.09.2017
16:14:25
да, в мейн надо останавливать
DispatchQueue.global().async {
guard let data = try? Data(contentsOf: urlImage!) else {
DispatchQueue.main.async { self.activityIndicator.stopAnimating() }; return }
как-то так вроде
просто оберни изменение UI в мейн