Articles of протоколы

Правильный способ передачи нескольких значений с помощью протоколов в iOS

Итак, у меня есть два ViewControllers. Сначала (MapVC) с картой и вторым (SettingsVC) со многими настройками, которые необходимо применить к этой карте. Я думал, что было бы неплохо создать протокол вроде protocol MapSettingsDelegate: class {} Я знаю, что я могу указать функцию внутри этого протокола. Но как я должен это делать, когда у меня есть […]

Метод протокола не распознается при вызове через делегат

Моя проблема заключается в том, что когда я dataLoading метод протокола dataLoading через делегат, он просто не распознает его – дает expected identifier ошибку expected identifier . Вот файл протокола / интерфейса: #import <Foundation/Foundation.h> @class LoaderView; @protocol DataLoaderProtocol <NSObject> @required – (void) dataLoading; – (void) doneLoading; @end @interface DataLoader : NSObject { } @property (retain) […]

Изменение объектного расширения файла C с .m на .mm вызывает ошибки

Первоначально у меня был файл, содержащий предупреждение ниже в LoginViewController.m, которое я проигнорировал. И код работает нормально. warning: sending 'LoginViewController *' to parameter of incompatible type 'id<NSStreamDelegate>' Но теперь я изменил расширение файла на .mm (LoginViewController.mm). Теперь я больше не могу строить проект из-за этой ошибки. Cannot initialize a parameter of type 'id<NSStreamDelegate>' with an […]

Определение протоколов в Swift

Каковы различия между этими тремя определениями протокола в Swift? protocol FooDelegate {} @objc protocol FooDelegate {} – это то же самое, что и protocol FooDelegate, NSObjectProtocol {} ? protocol FooDelegate: class {}

Протокол делегатов Swift 3.0 не работает

Я сделал делегатский протокол в двух контроллерах. но метод делегата не вызывает мой фрагмент кода. в чем причина этого. Я не мог найти проблему, любезно публикую ваши предложения, чтобы пережить эту проблему. Контроллер основного вида class ViewController: UIViewController, testDelegateMethod { override func viewDidLoad() { super.viewDidLoad() let vw = testViewController() vw.delegateTest = self let push = […]

Как мне вызвать viewDidLoad вручную?

У меня небольшая проблема с iOS. Я передаю данные взад и вперед между двумя контроллерами представлений, использующими протоколы, и ручным переключением просмотров. Моя проблема в том, что когда я отклоняю верхний вид, viewDidLoad для нижнего представления не вызывается снова. Поскольку я отправляю информацию с моего второго представления на свое первое представление, мне нужно, чтобы viewDidLoad […]

Как работают делегаты UITableView?

На мой взгляд, я использовал UITableView, я установил делегат и источник данных с владельцем файла в nib. И в моем классе .h файл я согласен с протоколом, как показано ниже … например: @interface test : UIViewController<UITableViewDelegate, UITableViewDataSource> { … … } Все работает отлично … все методы делегата называются правильно … Теперь мой вопрос заключается […]

Быстрая смена сегментации с недопущением расширения

Если у меня есть протокол, MyProtocol определяется как: protocol MyProtocol { func myFunction() -> String } и у меня есть реализация по умолчанию, объявленная в расширении, так что конформеры могут «опционально» реализовать функцию: extension MyProtocol { func myFunction() -> String { return "" } } все должно работать только денди. Однако, когда класс соответствует этому […]

Протокол печати для перечисления не работает в модульных тестах

Кажется, что println игнорирует протокол Printable не только в Playground, но и в модульных тестах. Это правда, или я что-то не так? Вот мой фрагмент кода: class ExampleTests: XCTestCase { enum Directions: Printable { case North var description: String { get { switch self { case .North: return "North" } } } } override func […]

Быстрое обновление синтаксиса? Классы не разрешены в протоколе. Не удается заполнить SKTexture

В настоящее время я работаю над учебником по созданию изометрической игры iOS. Вы можете найти это здесь . Я только начал кодировать Swift и потому, что при работе с учебниками немного больше, чем через 3 месяца, появилось много ошибок синтаксиса, которые я задал себе, если в последнее время в Swift появились некоторые основные обновления. До […]