
Антон
21.06.2018
01:54:49
почему выводит
where T: BaseAPI {
methodB<L>(_ api: L) where L: BaseAPI{
аналог на с++:
class BaseApi {};
class API: BaseApi {};
class DecodableAPI: BaseApi {};
template<class T>
void methodA(T *a) {
printf("methodA(T *a) {\n");
methodB(a);
}
void methodB(BaseApi *a) {
printf("methodB(BaseApi &a) {\n");
}
void methodB(API *a) {
printf("methodB(API *a) {\n");
}
void methodB(DecodableAPI *a) {
printf("methodB(DecodableAPI *a) {\n");
}
class BaseApiClass: public BaseApi {};
class APIClass: public API {};
class DecodableAPIClass: public DecodableAPI {};
BaseApiClass obj1;
APIClass obj2;
DecodableAPIClass obj3;
void test()
{
methodA(&obj3);
}
выводит
methodA(T &a) {
methodB(DecodableAPI &a) {

Ivan
21.06.2018
05:13:48

Google

Dmitry
21.06.2018
07:46:02
Всем доброе утро! Какую книгу порекомендуете по iOS разработке? На текущий момент интересует Swift с примерами реализации каких то базовых ui элементов (в частности очень интресеут работа с view без storyboard).

Julia
21.06.2018
07:49:10

Dmitry
21.06.2018
07:53:05

Ivan
21.06.2018
08:00:47
всем привет кто подскажет как происходит Вывод денег из AppStore?
как лучше это сделать
есть такая информация, Переводы делают каждый месяц если сумма превышает минимальный порог.
если будет больше 150 долларов, то за май придут в начале июля
верна ли она?

Dima
21.06.2018
08:08:31
как можно отправить картинку запросом через аламофайр?

Ivan
21.06.2018
08:15:10
Эм читай как там апи хочет что бы ты прикладывал фотки, аттачменты

Johnny
21.06.2018
08:23:37
Можно ль удалить build Number ? У меня было версия 1.5 и build 3. Изменил версию на 1.5.1 а build тот же 3. Но надо было build 1. Можно ли удалить build и опять поставить в iTunes connect?

Илья
21.06.2018
08:25:48

Johnny
21.06.2018
08:27:03
Зачем
По ошибке изменил версию а буилд оставил 3 думаю что надо буилд 1 при новой версии

Google

Kei
21.06.2018
08:27:14
Чтобы ответить на твой вопрос нужно знать что ожидает сервер. Ты делаешь не то чтобы не верно, просто не так как требует сервер

Илья
21.06.2018
08:27:43

Dima
21.06.2018
08:28:06

Johnny
21.06.2018
08:30:30
Ну подумал что Apple ругаться будут что буилд номер слишком большой. Но если вы говорите что и так сойдёт то оставлю

Илья
21.06.2018
08:31:20

Kei
21.06.2018
08:32:57
я не нашел доку mailgun по получению картинок(
Судя по https://documentation.mailgun.com/en/latest/api-sending.html#sending прицеп к почте нужно отправить через attachment используя multipart/form-data об этом читать тут:
https://stackoverflow.com/questions/31949118/send-post-parameters-with-multipartformdata-using-alamofire-in-ios-swift

Johnny
21.06.2018
08:34:02

Sergey
21.06.2018
08:42:37
Почитай по версионность, то что ты сделал это апнул версию
Тебе нужно было апнуть версию билда

Konstantin
21.06.2018
08:43:33
Всем привет
Вопрос
Где и как получить D-U-N-S® Number?

Алексей
21.06.2018
08:46:27

Konstantin
21.06.2018
08:47:13

Алексей
21.06.2018
08:51:39

Konstantin
21.06.2018
08:52:13

Ivan
21.06.2018
09:23:00
А версия должна быть по правилам semver
https://semver.org
Обще принятое правило

Johnny
21.06.2018
09:26:08

Ivan
21.06.2018
09:26:30

Google

Johnny
21.06.2018
09:26:56

Илья
21.06.2018
09:27:30

Egor
21.06.2018
09:28:06
Привет! Кто может подсказать, как в фейсбуке генерируется музыкальное видео из выложенных фото и видео? Это на серваке создаётся или в приложении?

Ivan
21.06.2018
09:28:15

Eugene
21.06.2018
09:28:16

Ivan
21.06.2018
09:28:49

Илья
21.06.2018
09:29:10

Ivan
21.06.2018
09:29:37

Владислав
21.06.2018
09:31:48
Добрый день, коллеги.
Подскажите, пожалуйста. Нужно при нажатии на UIImageView в ячейке таблицы открыть UIImagePickerController. Куда лучше вынести код открытия этого контроллера? Если в ячейку, то вроде бы обязанность навигации лежит на контроллере, а если в контроллер, то он разрастется, если будет за действия в ячейках отвечать.

Ivan
21.06.2018
09:32:31

Ivan
21.06.2018
09:33:25
В любой момент можешь вынести тейбл вью в отдельный класс и там пусть будет основная масса кода

Владислав
21.06.2018
09:33:31

Ivan
21.06.2018
09:33:54

Vladislav
21.06.2018
09:34:16
Лучше отдельный протокол и экстеншеном подключать логику туда, куда надо

Ivan
21.06.2018
09:34:35
Ну это да смотря какой язык
Я обж ток кодю просто

Владислав
21.06.2018
09:34:58
Swift

Google

Ivan
21.06.2018
09:35:19
Ну тогда Владислав лучше подскажет

Владислав
21.06.2018
09:36:11
Плюс еще и RxSwift использую, можно подключить тап по UIImageView
avatarImageView.rx.tapGesture().when(.recognized).map { _ in return }
вот к этому
UIImagePickerController.rx.createWithParent(self) { picker in
picker.sourceType = .photoLibrary
picker.allowsEditing = true
}
.flatMap { $0.rx.didFinishPickingMediaWithInfo }
.take(1)
.map { info in return info[UIImagePickerControllerEditedImage] as? UIImage }
.unwrap()
.map { image in UIImageJPEGRepresentation(image, 0.85) }
.bind(to: viewModel.imageData)
.disposed(by: rx.disposeBag)

Ivan
21.06.2018
09:36:53

Владислав
21.06.2018
09:37:14

Admin
ERROR: S client not available

Alex
21.06.2018
09:37:27

Владислав
21.06.2018
09:38:06
Какой ужас
Что не так? Объясните, пожалуйста, если считаете что что-то не так

Vladislav
21.06.2018
09:41:07
это очень вкратце

Aleksandr
21.06.2018
09:41:22
Кто-то должен быть делегатом ячейки и узнать что там тапнули на картинку

Ivan
21.06.2018
09:42:10

Vladislav
21.06.2018
09:42:12
и передавать замыкания туда как обработчики, но это уже вкусовщина

Aleksey
21.06.2018
09:43:20

Ivan
21.06.2018
09:44:47

Aleksandr
21.06.2018
09:45:23

Aleksey
21.06.2018
09:47:08

Vladislav
21.06.2018
09:47:34
чтобы в каждом конкретном случае не писать одинаковую реализациию

Ivan
21.06.2018
09:47:40

Google

Aleksey
21.06.2018
09:48:28
почему в самом классе не реализовать, чем тут экстеншн помогает то?

Vladislav
21.06.2018
09:50:02

Aleksandr
21.06.2018
09:50:30
потому что потом хрен разберешься, где реализация методов datasource, а где - delegate
и // MARK: помогают не особо

Aleksey
21.06.2018
09:51:06

Roman
21.06.2018
09:51:17
никак пхд

Vladislav
21.06.2018
09:51:34

Aleksandr
21.06.2018
09:51:54
протокол с дефолтной имплементацией?

Vladislav
21.06.2018
09:52:46
Protocol methods must not have bodies

Aleksey
21.06.2018
09:53:35

Vladislav
21.06.2018
09:53:43
Да, о том и речь.

Aleksey
21.06.2018
09:55:14
ага, это понятно, но впорос то был про расширение класса, кроме внешнего вида, это больше ничего не дает

Vladislav
21.06.2018
09:56:12
Что вы имеете в виду под "внешним видом"?

Aleksey
21.06.2018
09:57:43
разделение реализации класса и реализации протокола в коде, часто вижу, когда в одном файле сначала класс, потом ниже его расширение, по мне так это перебор

Aleksandr
21.06.2018
09:58:04
вообще говоря, есть разница между реализацией в типе и в экстеншене - в плане диспатчинга и производительности
как делать - надо договориться в рамках code style guide