J'ai une vue de table d'où j'envoie une demande les données de l'URL. Je suis capable de récupérer les données, mais je veux utiliser délégué pour renvoyer les données en mode tableau.Le délégué est NULL
Le problème est quand je mon self.delegate assigne il contient une valeur, mais quand je suis en train de renvoyer les données self.delegate deviennent 0x000000.
Dans viewcontroller.m
GNRequestManager *request = [[GNRequestManager alloc]initWithDelegate:self];
Dans GNRequestManager.h
#import <Foundation/Foundation.h>
#import "GNDownloadManager.h"
@protocol RequestManagerDelegate <NSObject>
- (void)didReceiveData:(NSMutableArray *)data;
@end
@interface GNRequestManager : NSObject
@property (nonatomic, weak) id<RequestManagerDelegate> delegate;
-(id)initWithDelegate:(id<RequestManagerDelegate>)inDelegate;
- (void)requestWithURL:(NSString *)urlString;
-(void)didReceiveResponse:(NSMutableArray *)downloadData;
@end
Dans GNRequestManager.m
-(id)initWithDelegate:(id<RequestManagerDelegate>)inDelegate
{
self = [super init];
if (self)
{
self.delegate = inDelegate; // **self.delegate has a value**
}
return self;
}
- (void)didReceiveResponse:(NSMutableArray *)downloadData // Fetch the data in downloadData
{
if(!itemArray)
{
itemArray = [[NSMutableArray alloc]init];
}
itemArray = downloadData;
[self.delegate didReceiveData:itemArray]; // **self.delegate does not contain any value**
}
Peut-être que la demande GNRequestManager * sera publiée si elle n'est pas conservée. –
Où est la déclaration 'délégué'? – YogevSitton
ajoutez l'interface pour votre gestionnaire. et je suppose que délégué est faible (il devrait être) et votre VC est désalloué –