Size: a a a

iOS Developers — русскоговорящее сообщество

2021 November 30

СГ

Самур Гусейнов... in iOS Developers — русскоговорящее сообщество
Как получить адрес юзера MapKit ?
источник

АМ

Алексей Милахин... in iOS Developers — русскоговорящее сообщество
Geocoder
источник

СГ

Самур Гусейнов... in iOS Developers — русскоговорящее сообщество
Спасибо
источник

T

The Pressbraker in iOS Developers — русскоговорящее сообщество
Друзья подскажите. Как сделать так чтобы объекты при получения какого то сообщения (вызова метода) начали обновлять свое состояние пока не получат сообщение "прекрати обновлять свое состояние"? Допустим у меня есть игра и в ней 500 объектов, я хочу чтоб в нужный момент времени какие то объекты по моей команде начали как то меняться (ну допустим есть игра типа тетриса и я хочу чтоб какие то кубики начали менять цвет по заранее заданному внутри объекта алгоритму).  Можно ли как то сделать так, чтоб вызвать метод doupdate() у каких то объектов и далее программа бы выполняла какие то другие действия (в то время как объекты у которых я запустил метод doupdate() меняли бы свое состояние (допустим 3 раза в секунду менялось бы поле color ). И я бы (когда возникает необходимость) потом бы просто запрашивал состояние объектов через геттер what_is_your_color() у этих объектов, а они бы возвращали свое состояние какой цвет у них в момент запроса (при этом они бы далее так и продолжали менять свой цвет 3 раза в секунду), но я бы запрашивал их состояние 60 раз в секунду.  Аналогия часы. Имеем механические часы, мы их заводим все и вешаем в разных комнатах дворца (в нем 500 комнат) (часы ходят не идеально синхронно). Мы их запустили и делаем свои дела на кухне варим щи. Потом мы решили обойти все комнаты дворца и посмотреть в каждой комнате на часы и узнать сколько они показывают. То есть часы (объекты) будучи запущенными так и идут, а мы просто время от времени проверяем их состояние. Я имею ввиду язык Swift позволяет это? (я спрашивал в теме С++ там потоки говорят нужны и там все сложно). Может быть в Swift это уже заложено в сам язык?
источник

TS

Tim S in iOS Developers — русскоговорящее сообщество
Не вижу ничего сложного. Здесь возможны две стратегии:

1. Пошаговая. Т.е. программа выполняется в одном потоке и меняет все объекты на 1 шаг. В каждом шаге обходит все объекты. Плюсы этого подхода -- не надо ничего синхронизировать, все уже синхронно.

2. Паралелльная. Каждый объект исполняется в отдельном  потоке и там меняет свое состояние как хочет. Минусы -- на стадии опроса состояния нужна синхронизация. Если цвет одной фигуры зависит от цвета многих фигур, то все эти цвета нужно синхронизировать при опросе -- т.е. захватывать мутекс, опрашивать какой цвет и делать что-то в зависимости от этих цветов, отпускать мутекс.
источник

T

The Pressbraker in iOS Developers — русскоговорящее сообщество
В Swift потоки тоже завязаны на количество ядер процессора как и в С++? Или тут как то все по другому? Еще меня пугает слово мьютекс (я встречал это в С++ тоже) . Я просто думал в Swift все проще с синхронизацией, а тут тоже надо самому критические места блокировать от изменения другими потоками (считай вручную). Swift сам не умеет этим управлять? Вот вроде в языке Golang есть какие то корутины и там (насколько я слышал) с потоками вообще все просто. Неужели в Swift также сложно с параллельными процессами как и в С++?
источник

ME

Maks 🤘🏻 E-notty... in iOS Developers — русскоговорящее сообщество
Есть ли какой-то адекватный способ удалить разделители у списка swiftui? Что не гуглю, то всё костыли для разных версий ios
источник

TS

Tim S in iOS Developers — русскоговорящее сообщество
количество потоков на количество ядер завязывают обычно программисты, да, это оптимальный вариант. Но это не обязательно. Все-равно операционная система будет сама этим всем управлять. К тому же, насколько я знаю, в ядре линукс (например) потоки приравнены к процессам. Т.е. на каждый поток в твоем приложении операционная система будет выделять время процессора так же, как и на остальные процессы в системе (близкие по приоритету). Рискну предположить, что во FreeBSD тоже так. Ну а macos и ios основаны на FreeBSD.

Мутексов (мьютексов) пугаться не надо. Это просто вариант синхронизировать что-то с чем-то. Для простоты, пока не разберешься, можешь сделать 1 глобальный мутекс на все объекты. И блокировать весь мир целиком. Заблокировал, обновил мир, разблокировал.
источник

T

The Pressbraker in iOS Developers — русскоговорящее сообщество
Есть ли у кого опыт программирования на Metal и Vulkan? Что проще? Изучаю Metal сейчас во всяком случае, так как хочу сделать игру для айфон. Но в идеале не помешала бы кроссплаторменность... А ее дает Vulkan как раз.
источник

TS

Tim S in iOS Developers — русскоговорящее сообщество
Что может быть без синхронизации (просто опишу, что тебя ждет, если вдруг будешь бояться мутексов):

1. Самый простой случай: Допустим, цвет Фигуры1 зависит от цвета Фигуры2. Фигура2 поменяла свой цвет. Фигура1 опросила цвет у Фигуры2,  Фигура2 еще раз поменяла цвет. Фигура1 выставила свой цвет согласно опрошенному, но Фигура2 уже в другом цвете.

2. Случай посложнее: Допустим цвет Фигуры1 в процессе установки в серобурмалиновый. Все остальные фигуры в это время спрашивают, интересуются какой же там цвет у фигуры1, чтобы выставить свои цвета. При первом опросе в ячейку памяти успело записаться только часть цвета например Серо-. Часть фигур успели прочесть это значение и подумали, что та фигура серая. Другая часть фигур прочла значение цвета как СероБур. И подумали, что та фигура серобурая. Оставшаяся часть фигур прочла полное значение цвета -- серобурмалиновый. Но было уже поздно... Фигура1 уже пошла менять цвет на следующий.
источник

TS

Tim S in iOS Developers — русскоговорящее сообщество
The Pressbraker  надеюсь, понятно описал? красочно :-)
источник

S

Svyatoslav in iOS Developers — русскоговорящее сообщество
Кто-то знает как реализовать функцию которая в качестве аргументов принимает 2 числа типа MyOptional<Int> и возвращает их сумму в этом же типе?
источник

S

Svyatoslav in iOS Developers — русскоговорящее сообщество
что не так
источник

MD

Maxud Daudov in iOS Developers — русскоговорящее сообщество
Опиши функцию “+” для MyOptional
источник

MD

Maxud Daudov in iOS Developers — русскоговорящее сообщество
И опицинал разверни перед сложением. Лиьо у себч в + опиши Self?
источник

K*

Kate *** in iOS Developers — русскоговорящее сообщество
источник

K*

Kate *** in iOS Developers — русскоговорящее сообщество
Кто подскажет image прозрачный - это в Appearance искать? В какую сторону гуглить, чтоб label снизу не видно было, когда image протягивать вправо?
источник

HO

Hanna Oksanichenko in iOS Developers — русскоговорящее сообщество
Добрый день, у кого-то есть опыт перехода с платежной системы globalPay на  Stripe? Буду рада помощи
источник

ВР

Вячеслав Раченко... in iOS Developers — русскоговорящее сообщество
что? не совсем понятно. просто помести image поверх лейбы
источник

K*

Kate *** in iOS Developers — русскоговорящее сообщество
Спасибо 🙌, тупанула в чужом коде (со сторибордами почти не работала, программно строила, если нужно было)
источник