gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 07:42:06 25 4
gpt4 key购买 nike

您好,我正在尝试从网站获取 cookie,我可以做到这一点。当我尝试将 cookie 保存到 holder 类或其他任何地方的 NSString 并尝试在首次创建它的委托(delegate)方法之外访问它时,问题就出现了。

- (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];
}

当我在方法中时,我可以看到并打印 cookie,但当我试图从其他任何地方访问它时,我不能,即使它存储在 holder 类中

@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;

}

最佳答案

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

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

关于[NSURLConnection sendSynchronousRequest] 回调后无法访问 NString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2830850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com