Valery
Но пару дней назад всё работало)
Aleksandr
мне помогло в похожей проблеме обновление до stable
Aleksandr
откат вернее
Valentin
я на предпоследней версии сижу и все гут
Aleksandr
у меня мак после закрытия крышки крашился, если был открыт Xcode
Valentin
Аппкод тормознутый но зато умнее)
можешь записать короткое видео, как ты его используешь или показать в реале (если мск)?
Valentin
именно в чем фишка, что ты готов мириться с задержками
Ivan
локальная история, хоткеи, мульти выделение, рефакторинг, создание категорий, правда все плюшки у него на objc, на swift'e он превращается в унылое говно(
Valentin
понятно. спасибо за инфу!
Anton
👍
Anton
раньше ie фиксили, теперь будем сафари
nik
Привет. Подскажите, пожалуйста, как открыть ссылку на приложение в апп сторе iOS на компютере. т.е. Линк в браузере
Anton
enter не модно
Anton
нажимаешь ПКМ и там «вставить и перейти»
Anton
таких еще не родилось
john
легенда гласит что скоро родится мальчик который сможет выдернуть ссылку из приложения
Anton
это я
Anton
можно запросить по бандлу id приложения и сформировать ссылку
Ракета
да придет спаситель
john
сальватор грядешэ
nik
можно запросить по бандлу id приложения и сформировать ссылку
можешь пример дать -- а то если пройти по гуглу - то ссылка не совсем понятная отображается..
Anton
делай раз https://stackoverflow.com/questions/433907/how-to-link-to-apps-on-the-app-store
Anton
делай два https://stackoverflow.com/questions/9717159/get-itunes-app-store-id-of-an-app-itself
Anton
только в обратном порядке: сначала получаешь id, потом строишь урл
Anton
ш ш шейкер линко линкомэйкер
Beer_Koala
Всем привет! Такой вопрос. Как реализовать в свифте: Есть два экземпляра класса. Как скопировать все свойства из одного в другой, не перебирая их? Т.е. что-то вроде copy, но не меняя ссылку.
Anonymous
А чем copy не устроил?
Beer_Koala
"не меняя ссылку"
Anonymous
Что это значит?
Beer_Koala
я не хочу получать новый объект. Цель: создать функцию внутри класса, которая будет заполнять текущий экземляр. А копи будет создавать новый экземляр, а не менять текущий.
Anonymous
Ты неправильно хочешь
nik
спасибо
Beer_Koala
Ты неправильно хочешь
Вопрос с самого начала. Нужно заполнять экземпляр из словаря. KVO в свифте делается костылями, поэтому ищу еще способы. JSONEncoder может из словаря сделать JSON, а потом из JSON - нужный мне экземпляр нужного мне класс. Но он создает новый экземпляр, а не заполняет текущий. Если есть еще идеи, как заполнить экземпляр объекта из словаря - буду рад предложениям.
Anonymous
И причем здесь KVO?
Beer_Koala
А откуда словарь?
это не так важно. Из легаси кода, который трогать нельзя )
Beer_Koala
И причем здесь KVO?
Потому что тогда можно было бы перебрать все элементы словаря и по ключу делать setValue
Anonymous
KVC тогда)
Beer_Koala
KVC тогда)
Я пока не силен в терминах. Но судя по гуглу, похоже - да.
Anonymous
То есть у тебя есть экземпляр с данными, приходит словарь и тебе нужно этот же экземпляр заполнить данными оттуда?
Anonymous
Так, почему тогда нельзя создать новый объект?
Beer_Koala
Так, почему тогда нельзя создать новый объект?
Мне казалось, потому что текущий уже где-то используется. Но в принципе, я сейчас вспоминаю, жесткого ограничения наверное, все-таки нет. Если не найдем того решения, которое я хочу - буду пытаться сделать так. Но пока все-таки: способа скопировать все свойства одного экземпляра в другой нет, кроме как перербирать их - не существует?
Beer_Koala
В сторону миррора тоже уже смотрел. Все ридонли. Что-то еще смотрел - но тоже не устроило... Вот пока пришел к JSONDecode
Shakhzod
ЛОЛ. "Инновационный", "protocol-oriented" Swift protocol SerialNumberType { var serialNumber: String { get } var productType: Int { get } } public class SerialNumber: SerialNumberType { let serialNumber: String let productType: Int init() { serialNumber = "" productType = 0 } } public class ParsedSerialNumber: SerialNumber { let building: String let time: String let color: String override init() { building = "" time = "" color = "" super.init() } } protocol DeviceType { var serialNumber: SerialNumberType { get } } public class Device: DeviceType { let serialNumber: ParsedSerialNumber init() { serialNumber = ParsedSerialNumber() } } error: MyPlayground.playground:27:14: error: type 'Device' does not conform to protocol 'DeviceType' public class Device: DeviceType { ^ MyPlayground.playground:28:9: note: candidate has non-matching type 'ParsedSerialNumber' let serialNumber: ParsedSerialNumber ^ MyPlayground.playground:24:9: note: protocol requires property 'serialNumber' with type 'SerialNumberType'; do you want to add a stub? var serialNumber: SerialNumberType { get } ^
Ivan
нихуя ты долбоеб, братишка
Ivan
земля тебе пухом
Ivan
обоссать? та не гони
Ivan
Обоссуй
очепятка по фрейду
Kreuz
Это что айосники так общаются?
Shakhzod
а что не так?
Ну, не могёт компиляцию. Проще говоря, в протоколе указывается, что DeviceType хранит SerialNumberType. А сам Device хранит ParsedSerialNumber. С точки зрения OOP все правильно. А Swift не может скомпилить. А вот и оффициальный ответ с bugs.swift.org: You'll have to match the static type exactly for now, sorry. You can work around this by making a computed property with one type and a stored property with the other.
Shakhzod
Shakhzod
Если кому лень прописывать
Anonymous
Тут уже поподробнее
Ну ты сам выше ответил
Shakhzod
Ну ты сам выше ответил
Я описал баг у Swift, а не в моем коде
Anonymous
Ну да, так поправь и скомпилится
Alexey
хм, не компилится)
Valentin
Я описал баг у Swift, а не в моем коде
нет багов, есть фитчи... вечером гляну. интересный кейс. сейчас активно прорабатываю протоколы.
Shakhzod
хм, не компилится)
Надо в классе Device serialNumber указывать как SerialNumberType. Суть поста именно в этом. Странно, что элементарные вещи не может, но все "безума" от него. *** Warning: Субъективное мнение ***
Alexey
Скоее всего проблема с одинаковым именованием поля
Anonymous
protocol DeviceType { associatedtype T: SerialNumberType var serialNumber: T { get } }
Shakhzod
Хотелосб бы, чтобы компилятор все это проделал.
Anonymous
Ну у меня в реальной жизни такого не возникало
Anonymous
protocol oriented и у тебя наследование)))
Shakhzod
Ну у меня в реальной жизни такого не возникало
Реальный usecase такой, view подписывается на поле из viewModel (RxSwift.Observable), а model должен кормить viewModel (RxSwift.ReplaySubject). И сразу такая ошибка. Как-то так