Anton
PHP 7.0.8 (cli)
Vladimir
Anton
свят, свят, свят
нуну, а для некоторых пых это небольшое хобби приносящие неплохую годовую прибавку
Vladimir
Понимаю, на свете очень много разных хобби. Некоторые кактусы едят, например :)
archie
Рыбята, а какие минусы (плюсы), чтобы стартануть проект на свифте? Я сам до этого писал в основном на обжси, но новый проект в компании хочу на свифте начать. Все говорят про проблемы версионности, но те же инстаграмы переводят свои проекты на новые версии свифта и вроде как успешно. Проект средней сложности - список ивентов, юзеры, картиночки, веб версия и все в таком духе.
Ilkhom
нет никаких проблем, начинай, голова есть руки есть дальше само собой разумеется
Евгений
переводил на днях проект с 2.3 на 3.0, много свифтовых либ с кокоаподс, навороченная приватная либа на юнити, iphone/ipad, проект довольно сложный.
заняло около 8 часов, автоматическая тулза не всегда все верно делает, после нее приходилось фиксить, но в целом особых проблем не возникло
Anonymous
Anonymous
archie
круто, ожидал примерно такие ответы)
Евгений
у нас десятки проектов на обжс, несколько только свифтовых, но все новые стартуем на свифте
Stanislav
Anonymous
но потом, мне кажется, не заочется обратно на обжс
Anonymous
хочу в херос погонять
Stanislav
Ещё убивает интерфейс билдер с ibdesignable, постоянно ребилдит вьюхи и падает на ровном месте (а по сути там только cornerRadius и тень и вьюшек)
Периодически прыгаю в проект на Objective C, на данный момент гораздо комфортнее.
Когда пробовал писать на яве под андроид, такого не было
Bulat
Зачем делать ibdesignable ради корнеров и теней?
Anonymous
зачем делать ibdesignable
Stanislav
Потому что есть такая возможность. А ради чего его вообще тогда было вводить-то?
Stanislav
Речь о том, что даже на такой простой задаче он работает криво
Anonymous
наверное ради каких-нибудь верстальщиков
Anonymous
верстка в икскоде вообще костыльная
Anonymous
это вам не xaml..
Anonymous
Stanislav
Stanislav
Ссука. Первый раз открываешь xib, все ок. Правишь контроллер - начинается
Vladimir
xib'ы не нужны
Stanislav
Vladimir
кодом
Stanislav
Зачем писать кодом то, что делается в IB с удобным просмотром и быстрой проверкой на всех размерах экранов? О_О
Anonymous
Vladimir
замечательно 😊
Vladimir
а вот с ксибами страдали
Alex
как вам там в 90х?
Расскажи нам, как бы ты решал подобные задачи через IB
https://www.youtube.com/watch?v=kyOm_dC038s
Anonymous
Anonymous
Отличный ответ!
я тебе не обязан никакие ответы на говновбросы давать
Anonymous
Alex
Vladimir
Stanislav
Stanislav
Anonymous
if case
внезапно! 😀
Anonymous
я и не знал
Stanislav
Кстати вдогонку. Сейчас мы определяем, что оба объекта именно кейса «one». А можно ли красиво определить, что они любого одинакового кейса?
Anonymous
%)
Vladimir
Никита
Друзья, помогите, пожалуйста. Очень нужна обратная связь по паре вопросов... Очень интересно мнение других людей:) Небольшой опрос про путешествия :)
https://goo.gl/forms/NGJ4SRS5g16wripD2
Stanislav
Сейчас расскажу. Есть enum для хранения частей математического примера. Первый case это число (1, -5, 100), второй case это действие (умножить, сложить и т.д.)
В моих простеньких математических выражениях всегда следующий порядок: число,действие,число(,действие,число)… Но пример из кусочков собирает пользователь. И он может попытаться добавить, к примеру, два знака подряд. Или два числа. И задача сводится к тому, что мне нужно знать, что это одинаковый case, но при этом мне пофиг на само значение
Vladimir
ну можно и так, эту логику перенести в отдельный метод )
Stanislav
я именно про логический смысл ==
Stanislav
static public func == (lhs: Step, rhs: Step) -> Bool {
switch (lhs, rhs) {
case (.rawNumber(let a), .rawNumber(let b)) where a == b: return true
case (.action(let a), .action(let b)) where a == b: return true
default: return false
}
}
func isSameType(_ step:Step) -> Bool
{
if case .rawNumber = self, case .rawNumber = step {
return true
}
if case .action = self, case .action = step {
return true
}
return false;
}
Stanislav
Собственно вот
Vladimir
👍
Stanislav
Ну все, тогда я спокоен, спасибо.
А то вроде довольно простая ситуация, но не был уверен что все без костылей
Anonymous
Сейчас расскажу. Есть enum для хранения частей математического примера. Первый case это число (1, -5, 100), второй case это действие (умножить, сложить и т.д.)
В моих простеньких математических выражениях всегда следующий порядок: число,действие,число(,действие,число)… Но пример из кусочков собирает пользователь. И он может попытаться добавить, к примеру, два знака подряд. Или два числа. И задача сводится к тому, что мне нужно знать, что это одинаковый case, но при этом мне пофиг на само значение
Понял, в чем проблема: смешали в одном енуме операнды и операции. Вынеси операции (унарные, бинарные) в отдельный енум. У профессора Хаггерти в лекциях Stanford этот пример есть в классическом виде. Очень рекомендую.
Stanislav
2 + 3 представляется в виде массива Step’ов rawNumber, action, rawNumber
Anonymous
С телефона, ссыль не отправлю сейчас. На iTunesU забей в поиск Stanford iOS9 и там прям код есть вместе с лекциями
Stanislav
Ок, спасибо, посмотрю
Anonymous
Насчет сравнения без учета значения, у меня вот так
Paks
Paks
В iOS10 тот же пример есть, 1 и 2 лекции
Victor
Кто-нибудь сталкивался с проблемами синхронизации iCloud? Перестаёт синхронизироваться папка приложения в iCloud Drive, при этом остальные папки работают
Dry
Помогите разобраться, почему ругается на "ambiguous reference to member init" в строке super.init(texture: nil, color: .clear, size: initialSize) {
import SpriteKit
protocol GameSprite {
var textureAtlas: SKTextureAtlas {get set}
var initialSize: CGSize {get set}
func onTap()
}
______
class Bee: SKSpriteNode, GameSprite {
var initialSize: CGSize = CGSize(width: 28, height: 24)
var textureAtlas: SKTextureAtlas = SKTextureAtlas(named: "Enemies")
var flyAnimation = SKAction()
func onTap() {
}
init() {
super.init(texture: nil, color: .clear, size: initialSize) {
createAnimations()
self.run(flyAnimation)
}
Anonymous
>init() {
super.init(texture: nil, color: .clear, size: initialSize) {
createAnimations()
self.run(flyAnimation)
}
ух ты, а так можно?
Dry
Судя по ошибке - нет ) но я не пойму почему.
Vlad
а ты реализуешь где-то свой инициализатор у базового класса?
Anonymous
интересно, а в super.init { self } будет считаться self для super
Anonymous
ну вы поняли
Dry
я и до этого вообще не понимал, а теперь совсем вообще
Anonymous
Dry
Anonymous
Vlad
писал ли ты вручную функцию init в классах SKSpriteNode или GameSprite