我有一个表格视图从哪里发送请求的数据从网址。我能够获取数据,但我想用委托将数据发送回表视图。代表为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