我想更好地了解initWithContentsOfURLNSDictionary的功能。
此功能自行管理连接失败吗?
initWithContentsOfURLNSDictionary参考:

- (id)initWithContentsOfURL:(NSURL *)aURL

返回值


初始化的字典-可能与
原始文件-在URL字典中包含接收者,如果为nil,则为nil
错误或资源内容无效
字典的表示形式。



可以,但是不指定所传递的网址是否有效。

但是,由于我确定自己的plist格式正确,因此我可以使用有问题的方法来查看连接是否可用,而不是使用Reachability.h。当然,仅是要了解数据连接是否可用,而不是要了解哪种连接处于 Activity 状态(例如WiFi等)。
我之所以这样说是因为,如果我在飞行模式下进行这样的简单测试,[dict count];总是返回0。

NSURL * plist = [NSURL URLWithString: @ "http://www.example.com/example.plist"];
NSDictionary * dict = [[[NSDictionary alloc] initWithContentsOfURL:plist] autorelease];
  if ([dict count] == 0) {
      //no connection
  }

TIA。

最佳答案

是的,你可以这样做。请记住,[[NSDictionary alloc] initWithContentsOfURL:plist]是一个同步阻塞调用。如果阻塞主线程的时间太长,则会得到0x8BADF00D,并且看门狗将终止您的进程。

10-08 06:26