2011-04-10 70 views
1
NSURL *modelURL1 = [[NSBundle mainBundle] URLForResource:@"MyTest" withExtension:@"momd"]; 
NSLog(@"%@", [modelURL1 absoluteURL]); 

NSString *path = [[NSBundle mainBundle] pathForResource:@"MyTest" ofType:@"momd"]; 
NSURL *modelURL = [NSURL URLWithString:path]; 
NSLog(@"%@", [modelURL absoluteURL]); 

由的XCode生成的第一线,当我使用的核心数据,但所以我需要另一种方法,我想我可以用它不起作用,因为该方法不前的iOS 4工作第二个,但它返回零...为什么不起作用?一个NSBundle pathForResource方法

感谢

回答

2

第二个不起作用,因为路径是不是URL。改为:

NSURL *modelURL = [NSURL fileURLWithPath:path]; 
+0

谢谢!你能解释它为什么有效吗?我没有看到区别。 – LuckyLuke 2011-04-10 19:02:48

+0

'+ URLWithString:'需要一个带有URL的字符串,如“file:/// foo/bar”中所示。路径不包含URL,只是一个路径(如“/ foo/bar”),正如'+ fileURLWithPath:'所预期的那样。 – 2011-04-10 19:06:23

+0

啊我明白了,非常感谢你:) – LuckyLuke 2011-04-10 19:54:51