我有一個表格視圖從哪裏發送請求的數據從網址。我能夠獲取數據,但我想用委託將數據發送回表視圖。代表爲NULL
問題是,當我給你我的self.delegate它包含一個值,但是當我試圖發回數據self.delegate變成000000。
在viewcontroller.m
GNRequestManager *request = [[GNRequestManager alloc]initWithDelegate:self];
在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
在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**
}
可能是GNRequestManager *請求被釋放,如果它不被保留。 – 2014-08-28 08:35:37
「委託」聲明在哪裏? – YogevSitton 2014-08-28 08:50:47
爲您的經理添加界面。我認爲委託是弱的(應該是),並且你的VC被釋放了。 – 2014-08-28 08:51:26