Iphone 将plist从URL读入NSDictionary的标准方法?如何控制超时?
我有一个servlet,它提供plistxml文件。最好的方法是什么将其放入Iphone 将plist从URL读入NSDictionary的标准方法?如何控制超时?,iphone,timeout,plist,nsdictionary,Iphone,Timeout,Plist,Nsdictionary,我有一个servlet,它提供plistxml文件。最好的方法是什么将其放入NSDictionary?我基本上是这样做的: NSDictionary* dict = [ [ NSDictionary alloc] initWithContentsOfURL: [NSURL URLWithString: @"http://example.com/blah"] ]; 但是我无法控制超时时间;我不希望因为服务器(我可能无法控制)有嘶嘶声而让UI挂起60秒。我
NSDictionary
?我基本上是这样做的:
NSDictionary* dict = [ [ NSDictionary alloc] initWithContentsOfURL:
[NSURL URLWithString: @"http://example.com/blah"] ];
但是我无法控制超时时间;我不希望因为服务器(我可能无法控制)有嘶嘶声而让UI挂起60秒。我知道有关NSURLRequest
,这将使我能够执行以下操作:
NSURLRequest *theRequest=[NSURLRequest requestWithURL:
[NSURL URLWithString: @"http://example.com/blah"
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:5 ];
但我不太明白如何将其输入到NSDictionary。您需要使用异步方法来完成此操作。从以下答案/帖子开始: 这将获取您的数据并将其放置在varibale:responseData中。现在,您需要添加代码以使用以下方法将其转换为NSDictionary:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection;
我找到了两种可能的方法将NSData转换为NSDictionary。这条路是从苹果那儿直走的
第二:
NSString *string = [[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding];
NSDictionary *dictionary = [string propertyList];
[string release];
您需要使用异步方法来实现这一点。从以下答案/帖子开始: 这将获取您的数据并将其放置在varibale:responseData中。现在,您需要添加代码以使用以下方法将其转换为NSDictionary:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection;
我找到了两种可能的方法将NSData转换为NSDictionary。这条路是从苹果那儿直走的
第二:
NSString *string = [[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding];
NSDictionary *dictionary = [string propertyList];
[string release];
太好了,谢谢你,科里。来找一条路。。。你给了我两个,太好了,谢谢你,科里。来找一条路。。。你给了我两个。