嘿,我一直在与这个问题作斗争一段时间。也许我在多线程知识中缺少一些东西,但这就是发生的事情。当我创建一个 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]];
对象在这里仍然存在
[请求开始同步];
然后对象消失在这里!
我确信这与原则理解上的差距有关,但我几天来一直在重新安排代码,但没有成功。
...