Описание тега objective-c-protocol

Protocols declare methods that can be implemented by any class. They can be used to force the implementation of necessarily used methods to assure the proper execution.
1 ответ

Есть ли способ получить сообщение об ошибке / предупреждении компилятора при удалении функции из протокола?

@protocol MyProtocol - (void)foo; - (void)bar; @end @interface MyClass : NSObject < MyProtocol > @end @implementation MyClass // My Protocol implementation - (void)foo { NSLog(@"foo implementation."); } - (void)bar { NSLog(@"foo implementation…
1 ответ

Что произойдет, если мой класс соответствует двум протоколам с одинаковым свойством?

Допустим, у меня есть два протокола @protocol Playlist<NSObject> @property(nonatomic, copy) NSString *title; @property(nonatomic, assign) NSUInteger trackCount; @end а другой как @protocol Album<NSObject> @property(nonatomic, copy) NSStr…
1 ответ

Протокол Objective C как параметр в другом протоколе

Я пытаюсь создать общий репозиторий (шаблон), который обращается к моему веб-API. У меня возникают проблемы с пониманием того, как протоколы работают в target-c (я пришел из C#, где интерфейсы немного отличаются). Я пытаюсь сделать так, чтобы Protoc…
21 май '13 в 15:29
1 ответ

Требуется разъяснение о правилах свойств, объявленных в протоколах

У меня есть несколько вопросов о свойствах, объявленных в протоколах. Возвращаемый тип дисперсии @protocol IHaveProperties @required @property (nonatomic, strong) IAmOfTypeX *propertyOfProtocolType; @property (nonatomic, strong) NSArray *array; @end…
1 ответ

Как создать методы класса, которые соответствуют протоколу, совместно используемому Swift и Objective-C?

В последнее время я изучаю Swift. Я решил написать гибридное приложение Swift/Objective-C, которое выполняло задачи, требующие больших вычислительных ресурсов, используя один и тот же алгоритм, реализованный на обоих языках. Программа рассчитывает б…
1 ответ

Почему методы делегата работают без объявления соответствия протокола?

У меня есть такой UITextFieldи перетаскиваю его к его владельцу, чтобы установить delegate в раскадровке. И в моем файле controller.h я не объявлял класс соответствующим UITextFieldDelegate протокол. Но - (BOOL)textField:(UITextField *)textField sho…
1 ответ

Может ли протокол Objective-C иметь категорию?

Категория Objective-C может реализовать протокол. Верно ли обратное - может ли протокол Objective C иметь категорию?
1 ответ

Протокол не отвечает на селектор

У меня проблема с протоколами Objective-C. Я определил протокол: @protocol PlayerProfileSectionProReviewDelegate <NSObject> - (void)didReceivedPlayerProfileSectionProReviewData; @end @interface PlayerProfileSectionProReviewModel : PlayerProfil…
28 янв '15 в 23:25
2 ответа

Создание категории для классов, которые реализуют определенный протокол в Objective-C?

Краткое описание проблемы Могу ли я расширить UIView категорией, но работать только с подклассами, которые реализуют определенный протокол (WritableView)? Т.е. я могу сделать что-то вроде следующего? @interface UIView<WritableView> (foo) // SY…
0 ответов

Добавление необязательного метода класса target-C для быстрого расширения

В уже обширное приложение Objective-C я хотел добавить функциональность Core Data. Последние добавления в Swift, и до сих пор это работало хорошо. Потому что моя цель-C AppDelegate уже содержит некоторые вещи, я решил написать расширение Swift для A…
2 ответа

Соответствие списку протоколов

У меня есть условие, когда я хочу, чтобы контроллер представления соответствовал любому из 4 протоколов. Есть ли способ проверить, соответствует ли он какому-либо из этих 4 протоколов, не выполняя связки или операторов в моем if? Можете ли вы сделат…
26 ноя '12 в 20:02
0 ответов

Какое представление я возвращаю для метода содержимого contentViewAtIndex:ffectiveCharacterRange NSTextFinderClient?

Я реализовал объект, который соответствует NSTextFinderClient протокол. textFinderНайти бар контейнера является WebView"s WebDynamicScrollBarsView, который является NSScrollView, Когда я показываю панель поиска в моем WebView это вызывает NSTextFind…
3 ответа

Синтаксис объявления класса Objective C

Мне нужна помощь в понимании синтаксиса объявления класса в Objective C, или, чтобы быть более конкретным @interface SomeViewController : UITableViewController <UITableViewDataSource, UITableViewDelegate> что означает UITableViewDataSource,UIT…
7 ответов

Протокол против категории

Может кто-нибудь объяснить различия между протоколами и категориями в Objective-C? Когда вы используете один над другим?
1 ответ

Категория для класса, соответствующего протоколу

Я пытаюсь реализовать категорию для UIViewController, и я хочу быть уверен, что объект соответствует определенному протоколу. Что-то вроде этого: #import <UIKit/UIKit.h> @interface UIViewController<MyProtocol> (Category) @end Это возможн…
0 ответов

Есть ли способ заставить XCode обеспечить автозаполнение импорта и / или классов в заголовочных файлах, которые не включены в файл реализации?

Я заметил, что при редактировании файлов заголовков XCode не предлагает автоматически предлагать файлы заголовков для импорта или классы из импортированных файлов, если только файл, который вы редактируете, сам не импортируется каким-либо файлом, ко…
14 июн '15 в 09:22
3 ответа

Каковы основные причины использования @protocols в Objective C?

Почему я хотел бы использовать протокол, а не создавать подкласс и наследовать методы..? Пожалуйста, объясните мне, я запутался в этой теме, мне не очень нравится объяснение в книге, которую я читаю. Где я могу использовать протоколы вместо других с…
18 фев '13 в 18:55
1 ответ

Определение протокола, требующего одного метода, только если реализован другой

У меня довольно сложный протокол, к которому я добавляю методы. Большинство новых методов @optional, но они в паре. Например, эти два метода работают вместе: @optional - (BOOL) shouldIDoSomethingHere; - (CGPoint) whereShouldIDoIt; В этом примере, ес…
28 янв '13 в 21:36
3 ответа

Как перечислить произвольный набор, который соответствует NSFastEnumeration

Я пытаюсь перечислить несколько объектов, которые, в зависимости от ситуации, могут быть либо NSArray, либо NSOrderedSet. Так как оба соответствуют NSFastEnumeration, я ожидаю, что это сработает: id<NSFastEnumeration> enumerableSet = (test) ? …
1 ответ

Создание CLLocationCoordinate2D на лету при соблюдении протокола MKAnnotation

Я имею MyClass что соответствует MKAnnotation протокол. согласно документации, класс требуется для реализации coordinate свойство, которое должно быть возвращено CLLocationCoordinate2D пример. Моя первая реализация была такой: -(CLLocationCoordinate…