ASIHTTPRequest以同步模式吞噬我的NSOperation变量

时间:2010-01-26 00:11:40

标签: cocoa asihttprequest nsoperation nsoperationqueue

嘿,我一直在与这个问题作斗争一段时间了。也许在多线程知识方面我缺少一些东西但是这里发生了什么。当我创建一个nsoperation队列时,任何分配的变量在“[request startSynchronous];”之后被清除。代码行。这就是我在说的:

@implementation imageLoadOperation
@synthesize object;

-(id)initWithObject:(NSMutableArray *)receivedObject
{
 ...
 object = receivedObject;
 ...
}
- (void)main {
 ...
//send request
 printf("retreiving photo info from server\n");

 NSURL *url = [NSURL URLWithString:[siteUrl stringByAppendingString:@"/connect.php"]];
 ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
 [request setPostValue:@"lookAtPhoto" forKey:@"purpose"];
 [request setRequestCookies: [ASIHTTPRequest sessionCookies]];

此对象仍然存在

  

[request startSynchronous];

然后物体在这里消失了!

我确信这与原则理解上的差距有关,但我现在已经重新安排了几天的代码而没有成功。

  

...

1 个答案:

答案 0 :(得分:2)

我不敢相信。我没有以正确的方式设置对象来触发属性保留。 > self.object