我想更好地了解initWithContentsOfURL
NSDictionary
的功能
此功能自行管理连接失败?
来自initWithContentsOfURL
NSDictionary
参考:
- (id)initWithContentsOfURL:(NSURL *)aURL
返回值
一个初始化的字典 - 可能与之不同 原始 - 包含aURL词典中的接收者,或者nil if 存在错误或资源的内容无效 字典的表示。
好的,但没有说明传递的网址是否有效。
但是,由于我确定我的plist
格式正确,我可以使用相关方法查看连接是否可用,而不是使用Reachability.h
。当然只是要了解数据连接是否可用,而不是了解哪种连接是活动的(例如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。
答案 0 :(得分:2)
是的,你可以这样做。请注意,[[NSDictionary alloc] initWithContentsOfURL:plist]
是同步阻止调用。如果你阻止主线程太长,那么你将获得0x8BADF00D,看门狗会杀死你的进程。