Anonymous
pod install
Anonymous
open *.xworkspace
Anonymous
And don't rape english, please.
Сароар🧑🏼‍🦱
Anonymous
Ага, если уже сделал, то просто открывай проект через файл xworkspace.
Anonymous
Который кокоапод сгенерировал.
Павел
Это будет thread safe?
Будет, если ты реализуешь это как тредСэйф
Anonymous
Семафоры?
Павел
Павел
Зачем так сложно?
Павел
Гцд тебе хватит
Anonymous
Всяко лучше, чем этот аутист который начал хуиту пороть.
Павел
Ну, он просто горяч
Павел
А твой вопрос странный
Anonymous
Туповат скорее.
Anonymous
А я и не говорил, что он нормальный.
Anonymous
Но интересно же.
Павел
Вот давайте быть вежливыми
Павел
Где картинку будешь загружать?
Павел
Но ты можешь перестать
Anonymous
Где картинку будешь загружать?
Вообще уже решили все на серверной стороне.
Anonymous
Картинки будут пачкой уходить.
Anonymous
Просто было интересно.
Павел
Ну и хорошо. Потому что делегат тебе не нужен
Ilkhom
поздравляю группу с хорошей погодой
Anonymous
Assuming что все живут в твоем городе.
Ilkhom
assuming this
Ilkhom
Engylizium
Andrew
Зверев vs Расторгуев .jpg
Engylizium
Че никто не работал с 360 видео ?
Engylizium
Ну ок, буду первым
Engylizium
Ок
Влад
Всем привет. Хочу написать небольшую заметку по ООП в swift(больше для себя, закрепить в голове как следует). Маловато материала нашёл по инкапсуляции. Кто-то сталкивался - дайте, пожалуйста, ссылку.
Влад
Вы о ключевых словах private и т.п.?
Влад
Спасибо большое.
Stanislav
Такой вопрос. Если я сделаю протокол для UICollectionViewCell и назначу нескольким клеткам делегатом один объект. В котором буду обновлять список ID для загруженных файлов. Это будет thread safe?
Вопрос у тебя реально не совсем понятный. Протокол и thread safe это не очень-то связанные вещи. Скорее всего в свой делегат ты таски загрузки фоток кидаешь всегда из UI треда. Если либа сторонняя, скорее всего она заливает в бекграунде, а коллбеки потом дергает снова в Main. Если все так, то ответ да - безопасно юзать один объект для всех ячеек. Если же твой делегат подразумевает отправку только одной фотки, то получится фигня.
Stanislav
Подскажите плиз по свифту. У меня есть контроллер (UITableViewController), который сейчас дергается из сториборда. Мне нужно поставить ему картинки для tabBatItem. Сейчас я переопределил только init с кодером. При переходах через сториборд все работает. Но, как я понимаю, если я где-то создам контроллер в коде, с другим инитом - тем же init(style: UITableViewStyle), у меня ничего не поставится, т.к. не вызовется инит с кодером. Для такой ситуации надо переопределять и этот инит? Или можно как-то переопределить более общий init, чтобы в итоге и при инициализации с кодером и при инициализации из кода (withStyle) правильно установились свойства tabBarItem? class MyAboutVC: UITableViewController { required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) self.title = "Settings" self.tabBarItem = UIImage(named: "SET_0")!.withRenderingMode(.alwaysOriginal) self.tabBarItem = UIImage(named: "SET_1")!.withRenderingMode(.alwaysOriginal) } }
Stanislav
Что-то типа такого или можно красивее? class MyAboutVC: UITableViewController { required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) setupTabBar() } required override init(style: UITableViewStyle) { super.init(style: style) setupTabBar() } func setupTabBar() { title = "Settings" tabBarItem.image = UIImage(named: "SET_0")!.withRenderingMode(.alwaysOriginal) tabBarItem.selectedImage = UIImage(named: "SET_1")!.withRenderingMode(.alwaysOriginal) } } И, кстати, вообще не могу понять, почему тут пришлось сделать override для init(style:), Xcode заставил. А для init(coder:) не нужно было.
Paks
»На длительное сотрудничество необходим Full Stack Android-разработчик (интерфейс – код) ============== это что уже разрабы делятся на тех, кто ваяет интерфейс и тех кто ваяет код? о_О
Бдя
Да
Бдя
В крупных проектах
Бдя
А так да
Бдя
То жирно
Grigory
@blpgl потому что init(style:) не required, в init(coder:) required. Перед инит стайл можешь убрать его. Когда у суперкласса requred у метода, то он обяз должен быть переопределен у потомка. Поэтому оверрайд можно убрать
Сароар🧑🏼‍🦱
please tell me which is best way and which one i have to choice and why ?
Сароар🧑🏼‍🦱
func isForce(with: String) -> Bool { // switch with { // case "Luke": return true // case "Leia": return true // case "Anakin": return true // case "Obi Wan": return true // case "Yoda": return true // case "Vader": return true // default: return false // } // let people = ["Luke", "Leia", "Anakin", "Obi Wan", "Yoda", "Vader"] for name in people { if name == with { return true } } return false } isForce(with: "Vader")
Ilkhom
you can search like this -> if (arr.index(of: "Vader") > -1)
Сароар🧑🏼‍🦱
Ilkhom
this method also uses loop under hood
Сароар🧑🏼‍🦱
yaa
Сароар🧑🏼‍🦱
which is giving you best performance i mean speed + memory
Ilkhom
it's a matter of the size of your array
Ilkhom
if you have only this size of array, then no matter which one you choose it won't make much difference
Сароар🧑🏼‍🦱
Alexander
consider to use Set instead of array if you are thinking about contains complexity
Сароар🧑🏼‍🦱
consider to use Set instead of array if you are thinking about contains complexity
Alex thanks i not good with Set yet but will check it sure
I'm That Fel!x
в каком случае надо наследоваться от UITableViewController по правилам хорошего кода? когда у меня есть таблица в контроллере? или если она является всем контроллером, где больше нет вьюх?
Alex
Второй случай
O'Miay
Кто пробовал делать такое? http://www.coderebel.com/products/ios-simulator-launcher/
Ivan
»На длительное сотрудничество необходим Full Stack Android-разработчик (интерфейс – код) ============== это что уже разрабы делятся на тех, кто ваяет интерфейс и тех кто ваяет код? о_О
На Upwork иногда есть заказ только на вёрстку, то есть xib, storyboards и пустые ViewController. Еще у Touch Instinct видел вакансию чисто на UI, разработка сложных widget, анимаций, вот это все.
Anonymous
я бы согласился иметь верстальщика на подхвате. как я ненавижу это говно делать
Anonymous
Когда заходит начальник 😄 #Гиф | @Potrachenoo
Anonymous
Anonymous
Кстати, eсли eсть хорошиe айос разработчики на фултайм и постоянку, Лёша был бы рад. Пишитe в личку
Anonymous
печально, а не смешно
Paks
В курсе уже что гугл первую колизию сделали в sha-1?
Anonymous
неплохо
Paks
Google нашел способ сгенерировать одинаковый SHA1 для двух разных документов https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html?m=1
Paks
что произойдет после запуска и почему так? func application(_ application: UIApplication, didFinishLaunchingWithOptions...) -> Bool { DispatchQueue.global().async { Timer.scheduledTimer(timeInterval: 0.4, target: self, selector: #selector(self.tickTimer), userInfo: nil, repeats: true) } return true } func tickTimer() { print("Tick-Tack") }
Anonymous
а что если я скажу, что активируется таймер