Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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 将plist从URL读入NSDictionary的标准方法?如何控制超时?_Iphone_Timeout_Plist_Nsdictionary - Fatal编程技术网

Iphone 将plist从URL读入NSDictionary的标准方法?如何控制超时?

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秒。我

我有一个servlet,它提供plistxml文件。最好的方法是什么将其放入
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];

太好了,谢谢你,科里。来找一条路。。。你给了我两个,太好了,谢谢你,科里。来找一条路。。。你给了我两个。