我想更好地了解initWithContentsOfURL
的NSDictionary
的功能。
此功能自行管理连接失败吗?
从initWithContentsOfURL
的NSDictionary
参考:
- (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,并且看门狗将终止您的进程。