Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSURLConnection保存变量不起作用_Iphone_Nsurlconnection_Nsurlrequest - Fatal编程技术网

Iphone NSURLConnection保存变量不起作用

Iphone NSURLConnection保存变量不起作用,iphone,nsurlconnection,nsurlrequest,Iphone,Nsurlconnection,Nsurlrequest,我正在发出一个异步url请求 在委托函数ConnectionIDFinishLoading中,我将服务器的响应分配给实例变量 我在提出请求后等待了几秒钟,我确信我已经收到了响应 我有一个按钮链接到一个iAction,它将这个变量输出到NSLog,但它总是空的 我不知道发生了什么事。url请求是否启动了一个新线程,并且保存的任何变量在主线程中都不可访问。。。或者为什么我根本看不到任何保存的变量 我可以在ConnectionIDFinishLoading中正确地使用接收到的数据,但是当我将这些数据分

我正在发出一个异步url请求

在委托函数ConnectionIDFinishLoading中,我将服务器的响应分配给实例变量

我在提出请求后等待了几秒钟,我确信我已经收到了响应

我有一个按钮链接到一个iAction,它将这个变量输出到NSLog,但它总是空的

我不知道发生了什么事。url请求是否启动了一个新线程,并且保存的任何变量在主线程中都不可访问。。。或者为什么我根本看不到任何保存的变量

我可以在ConnectionIDFinishLoading中正确地使用接收到的数据,但是当我将这些数据分配给实例变量并尝试在函数外部访问它们时,它们总是空的

TL;博士 我究竟该如何保存响应或url请求以供以后使用


提前感谢。

问题可能是您没有保留内存,因此会自动释放内存。您正在分配的实例变量是否是指定了retain或copy的属性?设置对象后,也可以手动调用对象本身的retain:

[myString retain];
使用属性是更好的管理方式,例如。H:

@interface MyClass: Object    {
    NSString *myString;
}
@property (nonatomic, retain) NSString *myString;
在.M中的其他地方:

@synthesize myString    
...
...
self.myString = ...
这可确保在您想要执行以下操作之前不会释放字符串:

[myString release];
self.myString = NULL;

…为什么不将NSLog放入ConnectiondFinishLoading方法中?因为听起来您所做的一切都是将响应分配到委托方法中的变量中,而不是记录任何内容。显然,在这里看到一些代码会有所帮助,但“确定”与“毫无疑问”并不相同。谢谢您的回复。代码分布在多个类中,我认为这是非常不清楚的。我将尽力解释:现在我正在将它记录在代表中,这就是我如何知道我收到了正确的数据。当我将数据保存到一个实例变量并在以后尝试访问它时,就会出现问题……它总是空的。谢谢