Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.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
在[NSURLConnection sendSynchronousRequest]中回调后无法访问NString_C_Objective C_Nsurlconnection - Fatal编程技术网

在[NSURLConnection sendSynchronousRequest]中回调后无法访问NString

在[NSURLConnection sendSynchronousRequest]中回调后无法访问NString,c,objective-c,nsurlconnection,C,Objective C,Nsurlconnection,嗨,我正在尝试从一个网站,我可以做没有问题的饼干。当我尝试将cookie保存到holder类或其他任何地方的NSString中,并尝试在首次创建它的委托方法之外访问它时,就会出现问题 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { int i; NSString* c; NSArray* all = [NSHTTPCookie coo

嗨,我正在尝试从一个网站,我可以做没有问题的饼干。当我尝试将cookie保存到holder类或其他任何地方的NSString中,并尝试在首次创建它的委托方法之外访问它时,就会出现问题

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
 {
  int i;
  NSString* c;
     NSArray* all = [NSHTTPCookie cookiesWithResponseHeaderFields:[response allHeaderFields] forURL:[NSURL URLWithString:@"http://johncleary.net"]];
  //NSLog(@"RESPONSE HEADERS: \n%@", [response allHeaderFields]);
  for (i=0;i<[all count];i++)
   {
    NSHTTPCookie* cc = [all objectAtIndex: i];
    c = [NSString stringWithFormat: @"%@=%@", [cc name], [cc value]];
    [Cookie setCookie: c];
   NSLog([Cookie cookie]) // Prints the cookie fine.

  }



  [receivedData setLength:0];
 }

您的
setCookie:
方法
是否保留了该cookie


NSString stringWithFormat:
返回一个自动删除的对象,因此除非您在
setCookie:
方法中保留它,否则它将消失。

您的
setCookie:
方法
是否保留该cookie


NSString stringWithFormat:
返回一个自动删除的对象,因此除非您在
setCookie:
方法中保留它,否则它将消失。

首先,不要直接记录字符串,始终使用
NSLog(@“%@”,xxx)
。如果字符串包含有效的格式说明符,则会损坏堆栈。首先,不要直接记录字符串,请始终使用
NSLog(@“%@”,xxx)
。如果字符串包含有效的格式说明符,则会损坏堆栈。
@interface Cookie : NSObject
{
 NSString* cookie;
}
+ (NSString*) cookie;
+ (void) setCookie: (NSString*) cookieValue;
@end

int main (void)
{
 NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
 JCLogin* login;
 login = [JCLogin new];

 [login DoLogin];
 NSLog([Cookie cookie]); // Crashes the program
 [pool drain];
 return 0;

}