2010-08-13 107 views
0

我使用一个NSBundle资源加载某些媒体:iPhone SDK:如何正确处理NSBundle资源加载错误?

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:someValue [email protected]"someType"]]; 

如果没有发现资源的URL值,当然,仍然有效,使用它会导致应用程序崩溃,所以简单的检查

if(!url) { //or even (!mediaPlayer), or (url == nil) 
    //show alert box 
} 

没有帮助。

回答

0

正确的做法是将pathForResource:ofType:的结果与nil进行比较,并处理该错误。

NSString *pathString = [[NSBundle mainBundle] pathforResource:@"name" ofType:@"ext"]; 
if (!pathString) { 
    // Handle error 
} 

NSURL *theURL = [NSURL fileURLWithPath:pathString];