objective c - iOS delegation doesn't work -
i'm trying implement delegate method between 2 classes in app delegated method not called.
here code :
pbpartnersservice.h
@protocol pbpartnersservicesdelegate <nsobject> @required -(void) didreceivenewsdatasfrompartners:(nsdictionary *)datas; @end
then create @property :
@interface pbpartnersservices : nsobject @property (nonatomic, weak) id<pbpartnersservicesdelegate> delegate; @end
in pbpartnersservice.m phone call delegate method (when print self.delegate 'nil') :
if ([self.delegate respondstoselector:@selector(didreceivenewsdatasfrompartners:)]) { [self.delegate didreceivenewsdatasfrompartners:obj]; }
in other class pbticketsservice.h instantiate first 1 :
@interface pbticketsservice : nsobject <pbpartnersservicesdelegate> @property (nonatomic,strong) nsdictionary *ticketlist; @property (nonatomic, strong) pbpartnersservices *partnersservices; - (void) preparefordelegate; @end
i made method in pbticketsservice.m set partnersservices delegate :
- (void) preparefordelegate{ self.partnersservices = [[pbpartnersservices alloc] init]; [self.partnersservices setdelegate:self]; }
and have function never phone call :
-(void) didreceivenewsdatasfrompartners:(nsdictionary *)datas{ }
you should utilize dependency injection: either add together ticketsservice
argument of partnerservices
constructor, or opposite.
ios objective-c delegates
No comments:
Post a Comment