
Адилет
02.10.2018
11:10:46
нет, они не такие уж и гигантские ). просто не хочу Overlay вешать перед юзером, пока данные загрузятся (даже если это занимает миллисекунды), хотелось бы все красиво оформить )
единственное нашел так это "Alamofire.request(url, method: .get, parameters: parameters, encoding: JSONEncoding.default, headers: headers).downloadProgress { progress in }"

Артур
02.10.2018
11:12:04
Тогда просто примени способ для скачивания файлов, только для скачивания твоей jsonки

Адилет
02.10.2018
11:13:08
да, но в этом случае я не знаю как сделать обработку ошибок xDD

Google

Адилет
02.10.2018
11:13:59
мол коды ошибок сервера как тогда обработать). подкинул сам себе задачку))

Roman
02.10.2018
12:25:03
Привет всем
Кто-нибудь презентовал экран внутри одного из табов UITabBarController?
Сейчас такая проблема, что я его презентую с controller.modalPresentationStyle = .overCurrentContext
Если перейти на другой таб, затем вернуться и закрыть экран, я не вижу предыдущий экран (который должен быть под тем, который показывал модально). Если переключиться на другой таб и вернуться, все возвращается в норму

Aleksandr
02.10.2018
12:32:12

Roman
02.10.2018
12:33:08

Aleksandr
02.10.2018
12:33:28
изменение фрейма + фейд. ничего страшного

Roman
02.10.2018
12:36:23

Mayor
02.10.2018
13:37:14

A
02.10.2018
13:40:04
(если через IB задаешь)

Rinat
02.10.2018
13:40:45
спасибо

Artak
02.10.2018
13:41:31
Всем привет. Ситуация следующая, iOS разработчик в компании, где я работаю, делал довольно простое приложение на свифте в 3 раза дольше, чем андроид делал аналогичное. В связи с чем руководство захотело провести сторонний аудит по срокам выполнения и по качеству кода. Подскажите, пожалуйста, кто-нибудь занимается подобным и сможет помочь?

Google

Стив Возняк
02.10.2018
13:44:07
Провожу аудит ....
Аудит завершен: Можно было сделать в 3 раза быстрее

Artak
02.10.2018
13:46:47
это была простая часть задачи)

Bogdan
02.10.2018
14:04:57
или ты здесь человека, который готов провести аудит, ищешь?

Artak
02.10.2018
14:05:59

Eli
02.10.2018
14:10:43
Всем привет. Ситуация следующая, iOS разработчик в компании, где я работаю, делал довольно простое приложение на свифте в 3 раза дольше, чем андроид делал аналогичное. В связи с чем руководство захотело провести сторонний аудит по срокам выполнения и по качеству кода. Подскажите, пожалуйста, кто-нибудь занимается подобным и сможет помочь?
Вопрос в том, какие треования были к продукту. Если твой разработчик покрыл все BDD, TDD тестами, если есть хоть какая-либо архитектура, то время было потеряно не зря. Для хорошего аудита, нужен хороший код ревью.

Алексей
02.10.2018
14:41:38
Народ, мне сейчас сон приснился, охуеть просто
Бетмэн пиздит джокера и орет: "ВИТАЛИК ДАВАЙ ПО НОВОЙ КОД ГОВНО"
Так вот по этому поводу вопрос
А что с Виталиком стало то? Куда он пропал?

Kei
02.10.2018
15:03:45

Алексей
02.10.2018
15:12:01
Ничего не меняется, посмотрел переписку, как всегда срач))
Просто он мой вопрос обосрал, когда я тут только появился, я его на всю жизнь запомнил, говно

Donna Anna
02.10.2018
15:30:52

Алексей
02.10.2018
15:31:53
Нет, просто мне постоянно всякое дерьмо снится)

Nerzh
02.10.2018
15:32:57
В @ios_fathers обитает
это мой вопрос он обосрал ) я свалил от туда, это самый бесполезный чат который у меня был и единственный в который меня именно позвали. я так и знал, что будет подвох )

Стив Возняк
02.10.2018
15:33:45

Nerzh
02.10.2018
15:35:41
ребята а вы можете, только очень желательно конструктивно обосрать мой тестовый кусок кода, который вызывает постоянное потребление памяти ?

Google

Nerzh
02.10.2018
15:37:57
там цикл в цикле запрос через urlsession, все
я понимаю, что я не знаю какого-то нюанса, но он жрет память и не освобождает ее

Ilya
02.10.2018
15:38:03

Nerzh
02.10.2018
15:38:12

Стив Возняк
02.10.2018
15:38:22

Nerzh
02.10.2018
15:38:44

Ilya
02.10.2018
15:39:16

Алексей
02.10.2018
15:40:15

Dmitry
02.10.2018
15:41:16
Это самый дружелюбный чат. Думаю скоро его переименуют в “Общероссийский профсоюз работников ̶м̶е̶ч̶а̶ ̶и̶ ̶м̶а̶г̶и̶и̶ iOS разработки”

Nerzh
02.10.2018
15:42:14
вот ... я пробовал
sharedSession.finishTasksAndInvalidate()
и
sharedSession.invalidateAndCancel()
не помогает или неправильно пробовал
такие вопросы в инете есть, еще советуют чистить кеш сессии тоже пробовал, но не уверен уже ни в чем, тоже не помогло, я не понимаю в чем моя ошибка, память жрет этот цикл постоянно
могу кодом скинуть, если хотите затестить

Roma
02.10.2018
15:47:21
скидывай

Nerzh
02.10.2018
15:47:51
func start() {
for i in 1...1_000_000 {
let fullUrl = "https://cleeplee.com"
guard let requestUrl = URL(string: fullUrl) else { continue }
var request = URLRequest(url: requestUrl)
request.httpMethod = "GET"
let config = URLSessionConfiguration.default
let sharedSession = URLSession.init(configuration: config)
sharedSession.dataTask(with: request, completionHandler: { (data, response, error) -> Void in
}).resume()
print(i)
}
}
start()

Стив Возняк
02.10.2018
15:48:01
weak references

Nerzh
02.10.2018
15:49:11
в каком месте нужно сделать weak ссылку ?

Стив Возняк
02.10.2018
15:56:56

Nerzh
02.10.2018
15:57:48
я просто не знаю как сделать отправку запроса в цикле, чтобы память не жрало
и ответить мне никто не может

Google

Vadim
02.10.2018
16:07:44
Всем доброго времени суток, новичок в Swift и всплыла ошибка в navigationController
сможет кто то подсказать?
выбрасывает сразу после выполнения 312 строки
2018-10-02 18:40:17.475309+0300 TapAndBuy[14060:290451] -[NSNull nsli_superitem]: unrecognized selector sent to instance 0x10ae10f08
2018-10-02 18:40:17.493250+0300 TapAndBuy[14060:290451] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull nsli_superitem]: unrecognized selector sent to instance 0x10ae10f08'
*** First throw call stack:
(
0 CoreFoundation 0x000000010ab9e29b __exceptionPreprocess + 331
1 libobjc.A.dylib 0x0000000109cc0735 objc_exception_throw + 48
2 CoreFoundation 0x000000010abbcfa4 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
3 CoreFoundation 0x000000010aba2fb6 ___forwarding___ + 1446
…
35 libdyld.dylib 0x000000010cc7a551 start + 1
36 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException


A
02.10.2018
16:10:26

Nerzh
02.10.2018
16:10:46

A
02.10.2018
16:11:18
А если использовать дефолтную shared ?

Roma
02.10.2018
16:11:43
Засунь создание и отправку запроса в отдельную функцию и вызывай её из цикла

Nerzh
02.10.2018
16:15:27
func call(sharedSession: URLSession, request: URLRequest) {
sharedSession.dataTask(with: request) { (data, response, error) -> Void in
}.resume()
}
func start() {
let fullUrl = "https://cleeplee.com"
guard let requestUrl = URL(string: fullUrl) else { return }
let sharedSession = URLSession.shared
var request: URLRequest = URLRequest(url: requestUrl)
request.httpMethod = "GET"
for i in 1...1_000_000 {
call(sharedSession: sharedSession, request: request)
print(i)
}
}
start()
никакого результата, жрет все так же бесконечно память

Eli
02.10.2018
16:23:58
а зачем ты создаешь млн реквестов без таймаута?

Nerzh
02.10.2018
16:24:36
можно хоть while true

NermaN
02.10.2018
16:25:12
Привет, нираз встречал приложения которые можно установить не из AppStore подтвердив доверие сертификата в настройках

Eli
02.10.2018
16:25:13
Тогда в чем вопрос? Проблема в том что ты создаешь много реквестов, много памяти ест

NermaN
02.10.2018
16:25:40
как они это делают?

Nerzh
02.10.2018
16:26:07

Google

Eli
02.10.2018
16:26:15
Дело в том что функция dataTask принимает completion параметр как @escaping что это значит? Что для каждого реквеста созданого тобой, создается НОВЫЙ closure который является объектом в пулле

A
02.10.2018
16:26:25

Eli
02.10.2018
16:26:28
показать решение или уже понятно?

Nerzh
02.10.2018
16:26:50

A
02.10.2018
16:26:51

Eli
02.10.2018
16:29:42
func start(_ completion: (...) -> Void) {
....
session.dataTask(...., completion: completion)
}
let complition: (...) -> Void = { (data, error...) in
/// here you should observe completed url requests in shared scope
}
start(completion)
желательно еще было бы добавить GCD с userInitiated или background

NermaN
02.10.2018
16:31:14

Nerzh
02.10.2018
16:38:06

Eli
02.10.2018
16:38:32
не за что, удачи

NermaN
02.10.2018
16:40:17
http://superimpactor.net
а вот такое как работает?