Articles of делегатов

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

Моя проблема заключается в том, что когда я 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) […]

Это плохой дизайн, чтобы установить self.delegate = self

У меня есть подкласс UIViewController (скажем, MyViewController). MyViewController.h @protocol TargetChangedDelegate -(void) targetChanged; @end @interface MyViewController @property (weak) id<TargetChangedDelegate> targetChangedDelegate; -(void) doSomethingOnYourOwn; @end MyViewController.m @implementation MyViewController <TargetChangedDelegate> -(void) doSomethingOnYourOwn { // DO some stuff here // IS THIS BAD ?? self.targetChangedDelegate = self; } -(IBAction) targetSelectionChanged { [self.targetChangedDelegate targetChanged]; } -(void) targetChanged { // Do some […]

Пользовательский выпуск делегата

Я работаю с пользовательскими функциями делегата и протокола. Я реализовал свой класс следующим образом: @protocol MyDelegate <NSObject> @required – (void)update; @end @interface MyHandlerClass : NSObject { id <MyDelegate>delegate; } @property (nonatomic, weak) id <MyDelegate>delegate; @end Мой класс реализации выглядит так: @implementation MyHandlerClass @synthesize delegate = _delegate; – (void)updateRequired: (id)sender { if(delegate) { [delegate update]; } […]

Определение протоколов в 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 = […]

Как добавить жёлтый жест в UITableViewCell

Я пытаюсь добавить кастрюлю к моему UITableViewCells, и у меня есть следующий код. По какой-то причине метод handlepan никогда не вызывается, хотя я ссылался на класс из раскадровки и задавал делегат. #import <QuartzCore/QuartzCore.h> #import "TaskTableViewCell.h" @implementation TaskTableViewCell { CAGradientLayer* _gradientLayer; CGPoint _originalCenter; BOOL _deleteOnDragRelease; } – (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; […]

Как заставить мой класс соответствовать внешнему протоколу? Он не может найти его, но я был под впечатлением, что я не должен импортировать файлы .h

Я определил протокол в ClassA и хочу, чтобы ClassB соответствовал ему, поэтому в ClassB меня есть <ClassADelegate> . Однако он продолжает жаловаться, что он не может найти этот конкретный протокол. Я понимаю, почему я утверждаю, что согласен с протоколом в файле .h, но этот класс #import из файла .m, так что он еще не знает […]

Быстрый ответ делегатаToSelector Bad_Access

Я пытаюсь интегрировать ASIHTTPRequest в проект Swift, это мой класс class DataCenter : NSObject, ASIHTTPRequestDelegate{ // … func requestAllPrice() { var url = NSURL.URLWithString("www.baidu.com"); var req = ASIHTTPRequest.requestWithURL(url) as ASIHTTPRequest req.delegate = self req.didFinishSelector = Selector("priceRequestDone") self.queue.addOperation(req); } func priceRequestDone( request : ASIHTTPRequest ){ var response = request.responseString() println(response) } func requestFailed( req : ASIHTTPRequest […]

Массивный родитель-ребенок и образец делегата

Я столкнулся со сложной проблемой дизайна. Из-за жесткой графики я не могу использовать навигационную схему Apple как UINavigationController или другие. Это диаграмма приложения Черная стрелка: направление протоколов Голубая стрелка: направление родитель-ребенка Я создал этот поток, потому что я хочу, чтобы код внутри единого ViewController ясным и изолированным: я думал о них как о модулях, которые […]

Как передать значения между контроллерами множественного представления с использованием делегирования / протокола

В принципе, теперь я намерен использовать делегат для передачи значений между контроллерами представлений. Поток контроллеров вида A -> B -> C Когда пользователь выполняет какое-либо действие в контроллере представления «С», как передать значение обратно в первый контроллер представления, который является «А»? В моем собственном коде метод делегата никогда не запускается, а «self.delegate» всегда «null». Я […]