Alfred
из 16 доступных
Paks
оО 16?)
Paks
это откуда цифра?)
Alfred
16мс – время для отрисовки кадра. если в мт что то будет работать дольше – лаги.
Anonymous
Может еще это поможет: http://stackoverflow.com/questions/34481843/gaussian-random-numbers-with-swift-2-1 class MyRandomGenerator { // stored properties var s : Double = 0.0 var v2 : Double = 0.0 var cachedNumberExists = false // (read-only) computed properties var gaussRand : Double { var u1, u2, v1, x : Double if !cachedNumberExists { repeat { u1 = Double(arc4random()) / Double(UINT32_MAX) u2 = Double(arc4random()) / Double(UINT32_MAX) v1 = 2 * u1 - 1; v2 = 2 * u2 - 1; s = v1 * v1 + v2 * v2; } while (s >= 1 || s == 0) x = v1 * sqrt(-2 * log(s) / s); } else { x = v2 * sqrt(-2 * log(s) / s); } cachedNumberExists = !cachedNumberExists return x } } var myRandomGenerator = MyRandomGenerator() let numGaussNumbers = 1000 var myGaussArr = [Double](repeating: 0.0, count: numGaussNumbers) for (i,_) in myGaussArr.enumerated() { myGaussArr[i] = myRandomGenerator.gaussRand } let myMean = myGaussArr.reduce(0.0, +)/Double(numGaussNumbers) // 0.0.. OK let myVar = myGaussArr.map { pow(($0 - myMean), 2) }.reduce(0.0, +)/Double(numGaussNumbers) // ~1, O print("(\(myMean),\(myVar))") // ~(0,1), OK https://www.dropbox.com/s/x6oxhg62fa14exl/Screenshot%202017-02-17%2015.45.29.png?dl=0
Paks
так при старте инициализировал и все, зачем его читать из файла на каждый чих?)
Alfred
а потом приложения грузятся по 10 секунд
Paks
это сколько надо файлов грузить?) что бы по 1 мс вышло 10 секунд?)
Paks
у ФБ секунд 5 грузится апп) и они не особо парятся из-за этого)
Anonymous
чувак, зачем ты кидаешь тонну нечитаемого кода в чат
Затем, что я его сопроводил скриншотом-спойлером
Alfred
Просто не совсем понятно, зачем юзать плист, если много проще впихнуть в код.
Paks
а так) я еще не видел на оське выше 6 апки, которые бы загружались по скорости хоть приблизительно как в 6 и ниже)
Alfred
можно и в коде, просто так меньше загромождаться текстом будет. мне нравится в plist выносить списки статические
Насчет этого, например в llvm они делают специальные файлы file.incl которые потом #include "file.incl" и там довольно декларативный язык получается, и в коде нет списков.
Alfred
То есть они инклюдят его посередине кода
Ilkhom
зачем вообще в играх статичные данные использовать? json зачем придумали, для тестирования баланса игры статика усложняет жизнь
Alexander
Alexander
если я правильно понял, что ты хочешь
Anonymous
подскажите пожалуйста кто работал с Alamofire swift
Anonymous
читаю доку, смотрю у них есть делегат, через который можно реализовать примитивный логер например
Anonymous
sessionManager = Alamofire.SessionManager(configuration: URLSessionConfiguration.default, delegate: LoggingSessionDelegate(), serverTrustPolicyManager: nil)
Anonymous
реализация LoggingSessionDelagate следующая
Anonymous
class LoggingSessionDelegate: SessionDelegate { override func urlSession( _ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse, newRequest request: URLRequest, completionHandler: @escaping (URLRequest?) -> Void) { print("URLSession will perform HTTP redirection to request: \(request)") super.urlSession( session, task: task, willPerformHTTPRedirection: response, newRequest: request, completionHandler: completionHandler ) } }
Anonymous
собственно вызываю через sessionManager.request не вызываются методы у делегата
Anonymous
извините, я не знаю как в телеграме делать подсветку кода
Vladislavs
```
Anonymous
или подскажите, как реализовать с alamofire логирование запроса/ответа
D
Всем привет. Работаю с сорстри и периодически сталкиваюсь, что изменения файла не трекаются. Файл как будто удаляется и вставляется заново с изменениями. Потом выяснить, что изменилось - никак. С xml’кой(storyboard, xib) всё в порядке, работает как и должно. А с классами проблемы. Откатывалась с последней версии до 2.3.2, проблема осталась.
Maksim
Даша, странно, у меня последняя вверсия и таких проблем нету
Maksim
а какую систему контроля используешь ?
Maksim
git или mercurial ?
Vladislavs
мб на одном пк форматирование табами, а на другом пробелами, хз
Engylizium
если я правильно понял, что ты хочешь
Не совсем так. Функция по уровню получает соотношение вероятностей. Делаем рандом число. Находим в какую категорию из этих вероятностей попало число и выдаем материал
Alexander
Не совсем так. Функция по уровню получает соотношение вероятностей. Делаем рандом число. Находим в какую категорию из этих вероятностей попало число и выдаем материал
ну я так и сделал ты создаешь на каждый уровень свое распределение, хранишь где-нибудь в отдельном классе потом можешь узнать какой материал выдать, передав распределение в функцию loot
Engylizium
Ааа, ну ты получается tuples юзал
Engylizium
Я вбивал как key:value
Engylizium
У себя
Anonymous
1 масив - 1 рандомное число 2 масив - 4 рандомных) не пересекающихся с 1 3 масив - остаток)
Chance = Arc4random(10) Switch chance: Case 0..<1: Do lalala Case 2..<4: Do tratata Case 5..<10: Do the rest В общем идея понятна?
Ilkhom
C#?
Ilkhom
Xamarin dev detected
Anonymous
Ну епта щас я с телефона тут подровняю шрифт еще )))
Anonymous
Свифт3
Anonymous
Можно свитчить по диапазонам
Anonymous
И еще where написать
Anonymous
Офигенно
VS
Всем привет из Беларуси) https://www.youtube.com/watch?v=AfA8RaNXcwY
Paks
"we are going to defer the declaration of ABI stability out of Swift 4" 😒 lists.swift.org/pipermail/swif…
Paks
Походу аби в 4 свифте тож не светит
Engylizium
Можно свитчить по диапазонам
То что нужно! Спасибо!!
Vlad
Ребят, а могу ли юзать CoreData так же, как переменные?
Vlad
Т.е. часто обращаться например
Vlad
и не страдает ли скорость от этого?
Vlad
или же нужно выгрузить из CD все при запуске приложения, и потом использовать?
Engylizium
Можно
Engylizium
И даже нужно
Engylizium
Это же persistent layer
Engylizium
Там все сохраняеться в случае чего
Engylizium
Конечно не стоит я думаю всем подряд забивать его
Engylizium
Но в принципе можно хранить любые данные
Vlad
Ну то есть я могу часто обращаться к CD?
Engylizium
Скорость - не страдает если ты в бэке с ним работаешь
Vlad
понял, спасибо
Engylizium
Там backgroundTask есть специально для этого
Anonymous
Ребят, а могу ли юзать CoreData так же, как переменные?
можно, но по solid в business-layer не нужно
q210
Всем привет. Работаю с сорстри и периодически сталкиваюсь, что изменения файла не трекаются. Файл как будто удаляется и вставляется заново с изменениями. Потом выяснить, что изменилось - никак. С xml’кой(storyboard, xib) всё в порядке, работает как и должно. А с классами проблемы. Откатывалась с последней версии до 2.3.2, проблема осталась.
разочаровался в SourceTree под мак - после какого-то из обновлений тормозит, после discard hunk теряет положение скролла в просмотрщике изменений (что дико раздражает), вылетает периодически и в целом как-то не очень. Я склонен винить атлассианов. Сейчас постепенно переползаю на Fork https://git-fork.com/
Alfred
Попробовал форк, он прямо совсем умирает на проекте
Bulat
я полностью на форк перешел, отлично работает
Anonymous
но подороже!
Anonymous
всем привет! Взялся переводить один старый проект с objc на свифт. Вот какой вопрос у меня возник. Я переписал метод вот в такой вид func presentVideoCamera<T: UIViewController>(_ target: T, canEdit: Bool) -> Bool where T: UIImagePickerControllerDelegate & UINavigationControllerDelegate Потом подумал, что может быть неплохо было бы сделать аналогичную функцию через extension UIViewController, чтобы убрать target. Но только никак не догоню как сделать оганичения экстеншна, чтобы эта функция была доступна только для контроллеров, реализующих вышеуказанные протоколы
Filipp
extension UIViewController:<Protocol> { }
Oleksii
extension UIViewController:<Protocol> { }
это все viewControllerы будут реализовывать Protocol А как добавить метод только UIViewController, которые реализуют протокол(ы)?
Filipp
extension <Protocol> where Self:UIViewController { }
Filipp
все время путаю