2011-04-10 37 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