@ios_ru

Страница 652 из 2351
Antony
04.03.2017
07:31:17
PHP 7.0.8 (cli)

Vladimir
04.03.2017
07:33:10
на php
свят, свят, свят

Antony
04.03.2017
07:34:09
свят, свят, свят
нуну, а для некоторых пых это небольшое хобби приносящие неплохую годовую прибавку

Google
Vladimir
04.03.2017
07:38:23
Понимаю, на свете очень много разных хобби. Некоторые кактусы едят, например :)

Archie
04.03.2017
09:32:04
Рыбята, а какие минусы (плюсы), чтобы стартануть проект на свифте? Я сам до этого писал в основном на обжси, но новый проект в компании хочу на свифте начать. Все говорят про проблемы версионности, но те же инстаграмы переводят свои проекты на новые версии свифта и вроде как успешно. Проект средней сложности - список ивентов, юзеры, картиночки, веб версия и все в таком духе.

Ilkhom
04.03.2017
09:43:12
нет никаких проблем, начинай, голова есть руки есть дальше само собой разумеется

Евгений
04.03.2017
09:48:04
переводил на днях проект с 2.3 на 3.0, много свифтовых либ с кокоаподс, навороченная приватная либа на юнити, iphone/ipad, проект довольно сложный. заняло около 8 часов, автоматическая тулза не всегда все верно делает, после нее приходилось фиксить, но в целом особых проблем не возникло

Archie
04.03.2017
09:49:00
круто, ожидал примерно такие ответы)

Евгений
04.03.2017
09:50:30
у нас десятки проектов на обжс, несколько только свифтовых, но все новые стартуем на свифте

? Райзя ?
04.03.2017
10:02:39
Да ну не будешь ты сходу писать быстрее
зависит от количества освоенных императивных языков в общем

но потом, мне кажется, не заочется обратно на обжс

-_-
04.03.2017
10:04:21
зависит от количества освоенных императивных языков в общем
Ну вот у меня в копилке php, c, c++, Java и Objective C. Не быстрее. Часть синтаксиса отличается от других в принципе. Часть методов переименовали и знание их названий в Objective C не помогает, на это тратится время

? Райзя ?
04.03.2017
10:06:04
хочу в херос погонять

Google
-_-
04.03.2017
10:07:21
Ещё убивает интерфейс билдер с ibdesignable, постоянно ребилдит вьюхи и падает на ровном месте (а по сути там только cornerRadius и тень и вьюшек) Периодически прыгаю в проект на Objective C, на данный момент гораздо комфортнее. Когда пробовал писать на яве под андроид, такого не было

Булат
04.03.2017
10:18:16
Зачем делать ibdesignable ради корнеров и теней?

? Райзя ?
04.03.2017
10:18:27
зачем делать ibdesignable

-_-
04.03.2017
10:22:01
Потому что есть такая возможность. А ради чего его вообще тогда было вводить-то?

Речь о том, что даже на такой простой задаче он работает криво

? Райзя ?
04.03.2017
10:22:38
наверное ради каких-нибудь верстальщиков

верстка в икскоде вообще костыльная

это вам не xaml..

-_-
04.03.2017
10:25:58
верстка в икскоде вообще костыльная
нормальная. Я уже говорил и еще раз повторю - поверстаю без проблем любые вьюшки на автолейауте. Но только без ibdesignable :D

Ссука. Первый раз открываешь xib, все ок. Правишь контроллер - начинается

Vladimir
04.03.2017
10:26:52
xib'ы не нужны

-_-
04.03.2017
10:27:22
xib'ы не нужны
Что юзать?

Vladimir
04.03.2017
10:27:25
кодом

-_-
04.03.2017
10:28:56
Зачем писать кодом то, что делается в IB с удобным просмотром и быстрой проверкой на всех размерах экранов? О_О

? Райзя ?
04.03.2017
10:29:31
кодом
как вам там в 90х?

Vladimir
04.03.2017
10:29:42
замечательно ?

а вот с ксибами страдали

-_-
04.03.2017
10:33:10
Енумы всякие и протоколы прикольные в свифте. В обжси суровый Си. Везде свои плюсы.
Вопрос. Есть у меня enum. Например enum Lol { case one(Int) case two(String) } есть два объекта: let obj1 = Lol.one(1) let obj2 = Lol.one(2) Как проверить, что они оба - одного кейса (one)?

Alexandr
04.03.2017
10:37:00
как вам там в 90х?
Расскажи нам, как бы ты решал подобные задачи через IB https://www.youtube.com/watch?v=kyOm_dC038s

Google
Alexandr
04.03.2017
10:38:13
маразм крепчал?
Отличный ответ!

? Райзя ?
04.03.2017
10:38:32
Отличный ответ!
я тебе не обязан никакие ответы на говновбросы давать

Вопрос. Есть у меня enum. Например enum Lol { case one(Int) case two(String) } есть два объекта: let obj1 = Lol.one(1) let obj2 = Lol.one(2) Как проверить, что они оба - одного кейса (one)?
полагаю switch (obj1, obj2) { case (.one(let obj1One), .one(let object2One)): ... и тут сравнивать case (.one(let obj1One), .two(let object2Two)): ... etc... } но это неточно

Alexandr
04.03.2017
10:49:38
-_-
04.03.2017
10:54:50
полагаю switch (obj1, obj2) { case (.one(let obj1One), .one(let object2One)): ... и тут сравнивать case (.one(let obj1One), .two(let object2Two)): ... etc... } но это неточно
Спасибо, в любом случае лучше моего костыля if case Lol.one(_) = obj1 { if case Lol.one(_) = obj2 { // ну вы поняли } }

? Райзя ?
04.03.2017
10:56:53
if case внезапно! ?

я и не знал

-_-
04.03.2017
10:58:09
Кстати вдогонку. Сейчас мы определяем, что оба объекта именно кейса «one». А можно ли красиво определить, что они любого одинакового кейса?

? Райзя ?
04.03.2017
10:58:49
%)

Никита
04.03.2017
11:01:40
Друзья, помогите, пожалуйста. Очень нужна обратная связь по паре вопросов... Очень интересно мнение других людей:) Небольшой опрос про путешествия :) https://goo.gl/forms/NGJ4SRS5g16wripD2

Vladimir
04.03.2017
11:06:37
Кстати вдогонку. Сейчас мы определяем, что оба объекта именно кейса «one». А можно ли красиво определить, что они любого одинакового кейса?
что-то типо такого enum Lol: Equatable { case one(Int) case two(String) } func ==(lhs: Lol, rhs: Lol) -> Bool { switch (lhs, rhs) { case (.one, .one): return true case (.two, .two): return true default: return false } }

-_-
04.03.2017
11:07:21
Сейчас расскажу. Есть enum для хранения частей математического примера. Первый case это число (1, -5, 100), второй case это действие (умножить, сложить и т.д.) В моих простеньких математических выражениях всегда следующий порядок: число,действие,число(,действие,число)… Но пример из кусочков собирает пользователь. И он может попытаться добавить, к примеру, два знака подряд. Или два числа. И задача сводится к тому, что мне нужно знать, что это одинаковый case, но при этом мне пофиг на само значение

что-то типо такого enum Lol: Equatable { case one(Int) case two(String) } func ==(lhs: Lol, rhs: Lol) -> Bool { switch (lhs, rhs) { case (.one, .one): return true case (.two, .two): return true default: return false } }
А это норм, так == переопределять? Я понимаю, что происходит. Но если я захочу их сравнивать именно и по значению, как тогда быть? У меня сейчас немного не так сделано. == действительно сравнивает и тип, и значение. А для сравнения типов кейса я сделал отдельный метод func isSameType(_ obj:Lol) -> Bool

Vladimir
04.03.2017
11:10:31
ну можно и так, эту логику перенести в отдельный метод )

-_-
04.03.2017
11:10:57
я именно про логический смысл ==

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; }

Google
-_-
04.03.2017
11:11:20
Собственно вот

Vladimir
04.03.2017
11:11:53
?

-_-
04.03.2017
11:13:51
Ну все, тогда я спокоен, спасибо. А то вроде довольно простая ситуация, но не был уверен что все без костылей

-_-
04.03.2017
11:48:01
Понял, в чем проблема: смешали в одном енуме операнды и операции. Вынеси операции (унарные, бинарные) в отдельный енум. У профессора Хаггерти в лекциях Stanford этот пример есть в классическом виде. Очень рекомендую.
Хм, ну у меня вот так. То есть есть enum для операций, и есть enum для шагов примера (где шаг - или операция, или число). А как надо? enum Action { case add case minus case divide case multiply } enum Step { case rawNumber(Int) case action(Action) }

2 + 3 представляется в виде массива Step’ов rawNumber, action, rawNumber

Michael
04.03.2017
11:50:00
С телефона, ссыль не отправлю сейчас. На iTunesU забей в поиск Stanford iOS9 и там прям код есть вместе с лекциями

Admin
ERROR: S client not available

-_-
04.03.2017
11:50:43
Ок, спасибо, посмотрю

Vadim
04.03.2017
11:52:24


Dmitriy
04.03.2017
19:20:53


В iOS10 тот же пример есть, 1 и 2 лекции

Victor
04.03.2017
20:13:33
Кто-нибудь сталкивался с проблемами синхронизации iCloud? Перестаёт синхронизироваться папка приложения в iCloud Drive, при этом остальные папки работают

Евгений
04.03.2017
21:20:34
Помогите разобраться, почему ругается на "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) }

? Райзя ?
04.03.2017
21:23:46
>init() { super.init(texture: nil, color: .clear, size: initialSize) { createAnimations() self.run(flyAnimation) } ух ты, а так можно?

Евгений
04.03.2017
21:24:35
Судя по ошибке - нет ) но я не пойму почему.

Vlad
04.03.2017
21:25:19
а ты реализуешь где-то свой инициализатор у базового класса?

? Райзя ?
04.03.2017
21:26:13
интересно, а в super.init { self } будет считаться self для super

ну вы поняли

Евгений
04.03.2017
21:26:41
я и до этого вообще не понимал, а теперь совсем вообще

Google
Евгений
04.03.2017
21:27:12
а ты реализуешь где-то свой инициализатор у базового класса?
вопрос не понял. для начинающих можно переформулировать?

Vlad
04.03.2017
21:27:40
писал ли ты вручную функцию init в классах SKSpriteNode или GameSprite

Евгений
04.03.2017
21:28:08
в GameSprite - нет

SKSpriteNode -

это ж не мой класс

Vlad
04.03.2017
21:28:43
понял

я просто не пользовался SpiriteKit

Евгений
04.03.2017
21:29:18
по книге делаю, что самое странное

Vlad
04.03.2017
21:30:32
лучше скринить код. Так будет легче читать

Евгений
04.03.2017
21:31:07
ок





Alex
04.03.2017
21:33:10
я читал эту книгу тоже, помоему в super.init ты лишнего пишешь

Евгений
04.03.2017
21:33:46


Vlad
04.03.2017
21:33:48
Эта ошибка означает, что такого иницализатора просто нет

Alex
04.03.2017
21:34:26
ну так посмотри внимательно )

Евгений
04.03.2017
21:35:13
фак

скобка

Страница 652 из 2351