@ios_ru

Страница 658 из 2351
-_-
06.03.2017
11:33:22
два одинаковых тела else if… Буэ

Sergey
06.03.2017
12:12:02
кто как обменивается данными между контроллерами? мне тут пришлось дохера функционала прикрутить, что не удобно стало через делегат данные передавать. а через синглтон как-то не правильно, что ли

Alfred
06.03.2017
12:12:33
мне кажется это вопрос топ1

даже на собеседованиях спрашивают

Google
Sergey
06.03.2017
12:13:39
я спрашиваю не как это реализовать, а как у вас реализовано. вариантов не так много. через делегат не удобно и запарило уже

в случае если направление -> можно просто в проперти вставить, а если <- то в проперти не вставишь. вернее, вставить-то можно, но там надо еще запариться, чтобы достать предыдущий контроллер. тоже, мне кажется, слегка не правильно

Alfred
06.03.2017
12:16:12
> через делегат не удобно и запарило уже почему?

Кстати, если не использовать xib то это легко делается

Sergey
06.03.2017
12:17:12
не знаю. иррационально

я не использую xib

Sergey
06.03.2017
12:18:42
вариантов дофига если честно
ну вот через делегат меня запарило. в проперти вставить и через синглтон, мне кажется, не очень правильно. можно еще записать на диск, но нахуя?

Alfred
06.03.2017
12:19:56
я не использую xib
прокинуть сверху провайдеры

доп сущность, которая будет связывать два контроллера и кидать туда сюда данные

Google
Ilkhom
06.03.2017
12:20:58
можно через интерфейсы гонять как в вайпер, инпут/оутпут

Alfred
06.03.2017
12:21:00
ну или нужно более подробное объяснение

Sergey
06.03.2017
12:22:12
доп сущность, которая будет связывать два контроллера и кидать туда сюда данные
я вот хз почему, но мне этот варинат кажется костыльным

Sergey
06.03.2017
12:23:00
ну хз, честно. вот не нравятся мне эти варианты :(

Alfred
06.03.2017
12:23:59
это как то совсем не аргументированно

Sergey
06.03.2017
12:25:30
иррационально

Ilkhom
06.03.2017
12:25:37
ну хз, честно. вот не нравятся мне эти варианты :(
потому что много делать? лень скажи))

Sergey
06.03.2017
12:25:54
одна строчка в один контроллер

Alfred
06.03.2017
12:27:03
иррационально
снова ничем не аргументированно

Sergey
06.03.2017
12:27:44
доп сущность, которая будет связывать два контроллера и кидать туда сюда данные
хотя, я так подумал… этот способ можно реализовать в навигейском, а не выносить ее как доп сущность

не нарушает же сингл респонсобилити

Alfred
06.03.2017
12:28:20
нисколько.. лол. конечно нарушает

Sergey
06.03.2017
12:28:29
)

Alfred
06.03.2017
12:29:10
надо избавляться от страха делать новые классы.

Sergey
06.03.2017
12:29:44
страха нет. есть лень :D

Dmitriy
06.03.2017
12:30:48
блоками можно

вместо делегата

Google
Dmitriy
06.03.2017
12:31:09
удобней и чище, если конечно не лепить блок в блоке в блоке в блоке

Sergey
06.03.2017
12:31:10
клоужерами?

Dmitriy
06.03.2017
12:31:38
не знаю такого слова, возможно, если это о блоках

Sergey
06.03.2017
12:31:47
лямбды?

-_-
06.03.2017
12:32:01
да-да

замыканиями

Sergey
06.03.2017
12:32:17
ну вот, это вариант. интересный вариант

надо подумать. спасибо

Dmitriy
06.03.2017
12:32:49
замыкания

https://habrahabr.ru/post/258873/

Sergey
06.03.2017
12:36:09
да, да. я знаю как это делается. спасибо

Sergey
06.03.2017
12:44:43
unwindSegue есть ведь
да я что-то забыл про него

-_-
06.03.2017
12:45:16
unwindSegue есть ведь
ну это ж привязка к сторибордам

Народ, а подскажите, плиз. Если у меня есть креш с таким вот стектрейсом без названий методов, это чем вообще его смотреть и как? Или хотя бы поскажите, как это правильно загуглить. 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
06.03.2017
13:14:19
Народ, а подскажите, плиз. Если у меня есть креш с таким вот стектрейсом без названий методов, это чем вообще его смотреть и как? Или хотя бы поскажите, как это правильно загуглить. 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/

-_-
06.03.2017
13:17:00
https://possiblemobile.com/2015/03/symbolicating-your-ios-crash-reports/
О, спасибо большое. Правильно понимаю, обязательно нужен оригинальный ipa/DSYM именно этой упавшей версии приложения?

Anton
06.03.2017
13:17:24
ага, именно

-_-
06.03.2017
13:18:34


Спасибо большое еще раз

Google
-_-
06.03.2017
13:20:42
О. А если пересобрать приложение с коммита, на котором собственно был пойман креш - будет ли такой DSYM файл подходить?

Vladislav
06.03.2017
13:22:07
Ребят кто-нибудь проходил собеседование в яндексе?

Антон
06.03.2017
13:22:46
форма глагола точно несовершённая?

Ivan
06.03.2017
13:25:46
О. А если пересобрать приложение с коммита, на котором собственно был пойман креш - будет ли такой DSYM файл подходить?
Надо пробовать. Там вроде идет поиск по какому-то uuid. Который должен совпадать. У symbolicate можно включить отладочный режим и оно напишет что и почему не нашло.

Dmitriy
06.03.2017
13:31:00
там же dsym весит метров 300. в ипа его нет)

Ivan
06.03.2017
13:32:40
Он должен был сохраниться при сборке версии для загрузки

Dmitriy
06.03.2017
14:24:17
а есть возможность как-то предотвратить запись данных в кордату, если запись происходит в либе?

что бы либу не потрошить?

Admin
ERROR: S client not available

Dmitriy
06.03.2017
14:25:22
либо ловить момент записи и подменять на свои данные?

https://www.youtube.com/watch?v=PP2NuXqgOno

Devios Cr&.
06.03.2017
15:06:00
Oleh ▼ Riasnoi, [6 марта 2017 г., 17:04]: Друзья, напомните, как можно брать и чекать диапазон дат? К примеру сегодня от 00:00 до 23:59 Если unix time попадает в этот ренж то апдейт к примеру.

Dmitriy
06.03.2017
15:08:10
гугли compareDate

Devios Cr&.
06.03.2017
15:09:21
thx

Dmitriy
06.03.2017
15:10:48
От себя — крайне не рекомендую использовать самодельные инструменты для работы с датой. На примере одного товарища выяснили, что иногда бывает 23:59:60, високосная секунда.

Devios Cr&.
06.03.2017
15:11:29
вот я ищу правильный пример работы

нужно проверять дни

гугл что то не помогате

Google
roman
06.03.2017
15:18:52
> @ryasnoy Друзья, напомните, как можно брать и чекать диапазон дат? попробуй + (BOOL) dateBetween:(NSDate*)startDate endDate:(NSDate*)endDate comparedDate:(NSDate*)comparedDate{ return ([startDate compare:comparedDate] == [comparedDate compare:endDate]); } где comparedDate - это наша дата

Devios Cr&.
06.03.2017
15:20:13
спс

Александр
06.03.2017
16:02:54
Друзья, всем привет! Помогите пожалуйста, уже весь мозг сломал не могу понять где тут утечка?





тут проект если что https://github.com/astrolka/VkMultiChat

есть ли тут вообще утечка?

Filipp
06.03.2017
16:07:32
не уверен, но что за complition(self)

Александр
06.03.2017
16:09:00
мне в блок нужно передать DialogsModel т.е. этот себя

или такое нельзя делать?

Filipp
06.03.2017
16:12:32
можно, но нужно быть аккуратнее с этим. возможно тут и образуется циклические сильные ссылки из за которых утечка в памяти



можно прочитать раздел про ARC в книге по свифту от apple

Александр
06.03.2017
16:14:39
но тут ведь self не держит блок



как эти кубики расшифровать

Filipp
06.03.2017
16:15:32
тебе нужно написать success {[weak self] guard let strongSelf = self else {return} ... completion(strongSelf) }

блок с success захватывает ссылку на self

Ivan
06.03.2017
16:16:40
Если он потом сам уходит то проблемы быть не должно

Нужно смотреть что за completion

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