Stanislav
да уже понятно. Объект с параметрами. Последнее это вызов функции и добавление всех значений из словаря результата)
Stanislav
Кстати не так уж и запутано
Stanislav
Platform.select({}) получает словарь и возвращает видимо тоже словарь
Anton
почему не сделан просто объект platform?
Stanislav
Platform.select это не статический метод? (в JS чуть более чем 0)
Anton
*словарь
Anton
можно считать статическим, кхм.
Stanislav
ну тогда так: создаем container, в нем два поля flex и backgroundColor (мы их задали сами) дополнительно вызываем Platform.select с параметром {ios:{paddingTop:30}}, и всю херню, что вернет этот метод, добавляем в container
Anton
container: { flex: 1, backgroundColor: '#f5f5f5', platform: { ios: { paddingTop: 30 } } }
Anton
почему не сделать так?
Anton
раз начал пугать плохим кодом, закончу тем из-за чего я отказался от одной работы
Anton
Anton
посмотрите на использование ++с здесь
q210
вах
q210
прям со слезами вспомнил свой самый первый код за деньги, я его на PHP писал (к счастью это был единственный раз, который мне пришлось писать на PHP)
Alfred
плюсы это суперсет C
строго говоря – нет. (докопался :D)
Alfred
obj-c – да.
Anonymous
посмотрите на использование ++с здесь
Я вижу все, и мне все не нравится
Stanislav
container: { flex: 1, backgroundColor: '#f5f5f5', platform: { ios: { paddingTop: 30 } } }
Хм. Ну я думал что там динамически что-то добавляется из Platform.select. Если нет, то разумеется лучше как тут)
Stanislav
два одинаковых тела else if… Буэ
I'm That Fel!x
кто как обменивается данными между контроллерами? мне тут пришлось дохера функционала прикрутить, что не удобно стало через делегат данные передавать. а через синглтон как-то не правильно, что ли
Alfred
мне кажется это вопрос топ1
Alfred
даже на собеседованиях спрашивают
I'm That Fel!x
я спрашиваю не как это реализовать, а как у вас реализовано. вариантов не так много. через делегат не удобно и запарило уже
I'm That Fel!x
в случае если направление -> можно просто в проперти вставить, а если <- то в проперти не вставишь. вернее, вставить-то можно, но там надо еще запариться, чтобы достать предыдущий контроллер. тоже, мне кажется, слегка не правильно
Alfred
> через делегат не удобно и запарило уже почему?
Alfred
Кстати, если не использовать xib то это легко делается
I'm That Fel!x
не знаю. иррационально
I'm That Fel!x
я не использую xib
Asylbek
Или notificationCenter
Asylbek
Но делегат удобнее по мне
I'm That Fel!x
вариантов дофига если честно
ну вот через делегат меня запарило. в проперти вставить и через синглтон, мне кажется, не очень правильно. можно еще записать на диск, но нахуя?
Alfred
я не использую xib
прокинуть сверху провайдеры
Alfred
доп сущность, которая будет связывать два контроллера и кидать туда сюда данные
Ilkhom
можно через интерфейсы гонять как в вайпер, инпут/оутпут
Alfred
ну или нужно более подробное объяснение
I'm That Fel!x
доп сущность, которая будет связывать два контроллера и кидать туда сюда данные
я вот хз почему, но мне этот варинат кажется костыльным
I'm That Fel!x
ну хз, честно. вот не нравятся мне эти варианты :(
Alfred
это как то совсем не аргументированно
I'm That Fel!x
иррационально
Ilkhom
ну хз, честно. вот не нравятся мне эти варианты :(
потому что много делать? лень скажи))
I'm That Fel!x
I'm That Fel!x
одна строчка в один контроллер
Alfred
иррационально
снова ничем не аргументированно
I'm That Fel!x
доп сущность, которая будет связывать два контроллера и кидать туда сюда данные
хотя, я так подумал… этот способ можно реализовать в навигейском, а не выносить ее как доп сущность
I'm That Fel!x
не нарушает же сингл респонсобилити
Alfred
нисколько.. лол. конечно нарушает
I'm That Fel!x
)
Alfred
надо избавляться от страха делать новые классы.
I'm That Fel!x
страха нет. есть лень :D
Paks
блоками можно
Paks
вместо делегата
Paks
удобней и чище, если конечно не лепить блок в блоке в блоке в блоке
I'm That Fel!x
клоужерами?
Paks
не знаю такого слова, возможно, если это о блоках
I'm That Fel!x
лямбды?
Stanislav
да-да
Stanislav
замыканиями
I'm That Fel!x
ну вот, это вариант. интересный вариант
I'm That Fel!x
надо подумать. спасибо
Paks
замыкания
Paks
https://habrahabr.ru/post/258873/
I'm That Fel!x
да, да. я знаю как это делается. спасибо
I'm That Fel!x
unwindSegue есть ведь
да я что-то забыл про него
Stanislav
unwindSegue есть ведь
ну это ж привязка к сторибордам
Stanislav
Народ, а подскажите, плиз. Если у меня есть креш с таким вот стектрейсом без названий методов, это чем вообще его смотреть и как? Или хотя бы поскажите, как это правильно загуглить. Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_EXCEPTION_PROTECTED at 0x0000000000000020 Crashed Thread: 13 Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0: 0 libsystem_kernel.dylib 0x00000001930fe8e8 0x1930df000 + 129256 (__ulock_wait + 8) 1 libsystem_platform.dylib 0x00000001931bf47c 0x1931ba000 + 21628 (<redacted> + 180) 2 QuartzCore 0x0000000197436f74 0x197329000 + 1105780 (<redacted> + 44) 3 UIKit 0x0000000199f7a95c 0x199f72000 + 35164 (<redacted> + 124) 4 UIKit 0x0000000199f7b898 0x199f72000 + 39064 (<redacted> + 660) 5 UIKit 0x0000000199f8f5b4 0x199f72000 + 120244 (<redacted> + 180) 6 UIKit 0x0000000199fd7684 0x199f72000 + 415364 (<redacted> + 208) 7 UIKit 0x000000019a042dec 0x199f72000 + 855532 (<redacted> + 68) 8 UIKit 0x0000000199f7f220 0x199f72000 + 53792 (<redacted> + 1196) 9 QuartzCore 0x000000019743f188 0x197329000 + 1139080 (<redacted> + 148) 10 QuartzCore 0x0000000197433e64 0x197329000 + 1093220 (<redacted> + 292) 11 QuartzCore 0x0000000197433d24 0x197329000 + 1092900 (<redacted> + 32) 12 QuartzCore 0x00000001973b07ec 0x197329000 + 554988 (<redacted> + 252) 13 QuartzCore 0x00000001973d7c58 0x197329000 + 715864 (<redacted> + 512) 14 UIKit 0x000000019a205624 0x199f72000 + 2700836 (<redacted> + 208) 15 UIKit 0x000000019a76a330 0x199f72000 + 8356656 (<redacted> + 4484) 16 CoreFoundation 0x00000001940dc278 0x193fff000 + 905848 (<redacted> + 24) 17 CoreFoundation 0x00000001940dbbc0 0x193fff000 + 904128 (<redacted> + 524) 18 CoreFoundation 0x00000001940d97c0 0x193fff000 + 894912 (<redacted> + 804) 19 CoreFoundation 0x0000000194008048 0x193fff000 + 36936 (CFRunLoopRunSpecific + 444) 20 GraphicsServices 0x0000000195a8e198 0x195a82000 + 49560 (GSEventRunModal + 180) 21 UIKit 0x0000000199fed2fc 0x199f72000 + 504572 (<redacted> + 684) 22 UIKit 0x0000000199fe8034 0x199f72000 + 483380 (UIApplicationMain + 208) 23 –ö–∞—Ä–¥–∏–æ–ª–æ–≥–∏—è 0x0000000100103b0c 0x1000a0000 + 408332 (_mh_execute_header + 408332) 24 libdyld.dylib 0x0000000192fec5b8 0x192fe8000 + 17848 (<redacted> + 4)
Anton
Народ, а подскажите, плиз. Если у меня есть креш с таким вот стектрейсом без названий методов, это чем вообще его смотреть и как? Или хотя бы поскажите, как это правильно загуглить. Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_EXCEPTION_PROTECTED at 0x0000000000000020 Crashed Thread: 13 Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0: 0 libsystem_kernel.dylib 0x00000001930fe8e8 0x1930df000 + 129256 (__ulock_wait + 8) 1 libsystem_platform.dylib 0x00000001931bf47c 0x1931ba000 + 21628 (<redacted> + 180) 2 QuartzCore 0x0000000197436f74 0x197329000 + 1105780 (<redacted> + 44) 3 UIKit 0x0000000199f7a95c 0x199f72000 + 35164 (<redacted> + 124) 4 UIKit 0x0000000199f7b898 0x199f72000 + 39064 (<redacted> + 660) 5 UIKit 0x0000000199f8f5b4 0x199f72000 + 120244 (<redacted> + 180) 6 UIKit 0x0000000199fd7684 0x199f72000 + 415364 (<redacted> + 208) 7 UIKit 0x000000019a042dec 0x199f72000 + 855532 (<redacted> + 68) 8 UIKit 0x0000000199f7f220 0x199f72000 + 53792 (<redacted> + 1196) 9 QuartzCore 0x000000019743f188 0x197329000 + 1139080 (<redacted> + 148) 10 QuartzCore 0x0000000197433e64 0x197329000 + 1093220 (<redacted> + 292) 11 QuartzCore 0x0000000197433d24 0x197329000 + 1092900 (<redacted> + 32) 12 QuartzCore 0x00000001973b07ec 0x197329000 + 554988 (<redacted> + 252) 13 QuartzCore 0x00000001973d7c58 0x197329000 + 715864 (<redacted> + 512) 14 UIKit 0x000000019a205624 0x199f72000 + 2700836 (<redacted> + 208) 15 UIKit 0x000000019a76a330 0x199f72000 + 8356656 (<redacted> + 4484) 16 CoreFoundation 0x00000001940dc278 0x193fff000 + 905848 (<redacted> + 24) 17 CoreFoundation 0x00000001940dbbc0 0x193fff000 + 904128 (<redacted> + 524) 18 CoreFoundation 0x00000001940d97c0 0x193fff000 + 894912 (<redacted> + 804) 19 CoreFoundation 0x0000000194008048 0x193fff000 + 36936 (CFRunLoopRunSpecific + 444) 20 GraphicsServices 0x0000000195a8e198 0x195a82000 + 49560 (GSEventRunModal + 180) 21 UIKit 0x0000000199fed2fc 0x199f72000 + 504572 (<redacted> + 684) 22 UIKit 0x0000000199fe8034 0x199f72000 + 483380 (UIApplicationMain + 208) 23 –ö–∞—Ä–¥–∏–æ–ª–æ–≥–∏—è 0x0000000100103b0c 0x1000a0000 + 408332 (_mh_execute_header + 408332) 24 libdyld.dylib 0x0000000192fec5b8 0x192fe8000 + 17848 (<redacted> + 4)
https://possiblemobile.com/2015/03/symbolicating-your-ios-crash-reports/
Stanislav
https://possiblemobile.com/2015/03/symbolicating-your-ios-crash-reports/
О, спасибо большое. Правильно понимаю, обязательно нужен оригинальный ipa/DSYM именно этой упавшей версии приложения?
Anton
ага, именно
Stanislav
Stanislav
Спасибо большое еще раз
Stanislav
О. А если пересобрать приложение с коммита, на котором собственно был пойман креш - будет ли такой DSYM файл подходить?
VS
Ребят кто-нибудь проходил собеседование в яндексе?
Anton
форма глагола точно несовершённая?
Ivan
О. А если пересобрать приложение с коммита, на котором собственно был пойман креш - будет ли такой DSYM файл подходить?
Надо пробовать. Там вроде идет поиск по какому-то uuid. Который должен совпадать. У symbolicate можно включить отладочный режим и оно напишет что и почему не нашло.