Описание тега protocol-oriented

0 ответов

Невозможно использовать протокол с типом класса, где ожидается AnyObject

У меня есть класс с универсальным типом, который должен быть объектом. И я не могу использовать протокол с типом класса в качестве типа для этого класса. class Holder<T: AnyObject> { var value: T? = nil init() { self.value = nil } init(_ value…
23 авг '18 в 19:58
3 ответа

Swift - Расширения протокола - Свойства по умолчанию

Допустим, у меня есть следующий протокол: protocol Identifiable { var id: Int {get} var name: String {get} } И что у меня есть следующие структуры: struct A: Identifiable { var id: Int var name: String } struct B: Identifiable { var id: Int var name…
11 авг '16 в 00:41
2 ответа

Протоколно-ориентированное расширение модуля init дважды

Здесь ситуация. У меня есть протокол и его расширение. protocol CustomViewAddable { var aView: UIView { get } var bView: UIView { get } func setupCustomView() } extension CustomViewAddable where Self: UIViewController { var aView: UIView { let _aVie…
1 ответ

Программирование Swift 3 по протоколу приводит к случайным сбоям SIGBUS

Я отвечаю за полное приложение Swift 3, и одно из регулярных сбоев - это SIGBUS сигнал, который я не могу понять вообще: Thread 0 Crashed: 0 libswiftCore.dylib 0x00000001009b4ac8 0x1007b8000 +2083528 1 LeadingBoards @objc PageView.prepareForReuse() …
29 май '17 в 09:31
1 ответ

Протоколно-ориентированное программирование, неявно вызывающее метод расширения

После моего первого взлома в POP. В этом случае я хочу украсить некоторые UIViewControllers так, чтобы они автоматически вызывали событие аналитики "Просмотр страницы". Итак, я создал протокол и расширение для этого протокола: protocol ReportPageVie…
23 авг '16 в 13:53
3 ответа

Соответствие протокола не подразумевается для элемента коллекции

У меня есть набор протоколов, чтобы иметь возможность отображать элемент в UITableView: protocol TableRepresentableRow { var title: String { get } var subtitle: String { get } } extension TableRepresentableRow { var title: String {return ""} var sub…
1 ответ

Есть ли способ скрыть инициализатор по умолчанию для Swift Struct?

У меня есть протокол под названием Parameter: protocol Parameter { var name: String { get } var unit: Unit? { get } var value: Double { get } init(name: String, unit: Unit?, value: Double) } У меня также есть 16 структур, которые соответствуют Param…
25 авг '16 в 00:08
3 ответа

Как использовать протоколно-ориентированное программирование для улучшения моего кода Swift?

У меня довольно большой проект, структурированный в этом формате: class One : FirstThree { fileprivate var integers: [Int] { return [1, 2, 3, 101, 102] } override func allIntegers() -> [Int] { return integers } func doStuffForOne() { //does stuff…
20 янв '17 в 19:50
1 ответ

Как выставить разные функциональные возможности одного типа для разных модулей?

Я работаю над небольшим приложением для двух игроков для iOS. На данный момент я разделил это приложение на 3 модуля. UI Игровая логика сетей У меня есть два публичных протокола в сетевом модуле: public protocol ConnectionManager { init(name: String…
18 июл '17 в 10:54
2 ответа

Метод делегата не вызывается для UIimagePickerController

Я пытаюсь создать протокол, в котором я могу открыть UIimagePickerController с камерой или медиа-библиотекой по выбору пользователя. вот некоторый код: import UIKit protocol PFImagePickerProtocol: UIImagePickerControllerDelegate,UINavigationControll…
1 ответ

Класс для протокола разговора в Swift

У меня есть этот тяжелый базовый подкласс класса VC UIViewController, который я пытаюсь преобразовать как vcprotocol. Это основной виртуальный канал, который выполняет всю работу, как класс бога. Который я хотел бы разбить как vcProtocol. Я пытаюсь …
21 янв '19 в 15:44
1 ответ

Гетерогенная смесь типов протоколов, включая общий протокол

protocol ParentProtocol { } protocol ChildProtocol: ParentProtocol { } protocol Child_With_Value_Protocol: ParentProtocol { associatedType Value func retrieveValue() -> Value } Попытка создать один массив типа ParentProtocol который содержит оба…
1 ответ

Предоставление реализации по умолчанию для переопределенного метода UIViewController, но только если контроллер соответствует протоколу

В моем приложении у меня было много стандартного кода, который мне приходилось писать всякий раз, когда в каком-то контроллере был UITableView. Чтобы устранить это, я создал BaseTableViewController, который реализует некоторые неоднократно используе…
16 янв '17 в 14:10
0 ответов

Протоколно-ориентированная загрузка файлов

Недавно я посмотрел этот доклад ( ссылка, см. Раздел " Сеть") и решил сделать несколько замечаний в программировании, ориентированном на протокол. Поэтому я подумал об этом простом примере: View Controller для отображения списка файлов. Конечно, про…
2 ответа

В чем причина добавления функций к протоколу через расширение, почему бы просто не включить его в определение самого протокола?

Я всегда удивлялся, почему, когда я вижу примеры протоколов, люди, как правило, добавляют большинство функций через расширение. Как это: protocol Flashable {}//Can be empty becuase function is in extension extension Flashable where Self: UIView //Ma…
14 янв '17 в 02:58
3 ответа

Как добавить тип протокола в качестве подпредставления

Итак, я написал простой протокол: protocol PopupMessageType{ var cancelButton: UIButton {get set} func cancel() } и иметь customView: class XYZMessageView: UIView, PopupMessageType { ... } и тогда у меня сейчас есть: class PopUpViewController: UIVie…
1 ответ

Swift Protocol Oriented Mixed Scope

У меня есть концептуальный вопрос по протоколно-ориентированному программированию. Допустим, я создаю протокол Foo и хочу расширить Foo с помощью функции action() в расширении протокола. action() всегда будет в основном одинаковым, независимо от тог…
1 ответ

Почему мои значения свойств по умолчанию все еще отображаются как параметры в Init()?

У меня есть протокол, который описывает параметр морской воды, который нуждается в проверке: protocol Parameter { var name: String { get } var unit: Unit { get } var value: Double { get } } У меня есть структура, Calcium, что соответствует Parameter…
24 авг '16 в 02:08
1 ответ

Свифт-протокол-ориентированные расширения

Попытка разобраться в протоколно-ориентированном программировании в Swift и о том, как работают расширения и какой уровень расширяемости он может обеспечить. Получите следующий фрагмент кода, который я пробежал по игровым площадкам protocol Protocol…
2 ответа

Протокол соответствия стандарту ios swift

Я пытаюсь научиться быстро и хочу использовать протоколно-ориентированный подход программирования. То, чего я хочу достичь, просто, но я не мог найти никакого пути. допустим, у меня есть Outlet, который является текстовым полем. Я хочу, чтобы тексто…
24 ноя '16 в 21:06